.tp{--tp-ink:#100c0b;--tp-paper:#f1efec;--tp-ember-1:#e2622f;--tp-ember-2:#b0231d;--tp-flame:#d93b30;--tp-rail:clamp(18px, 4.2vw, 44px);--tp-gut:clamp(20px, 5vw, 72px);background:var(--tp-ink);color:#fff}.tp-s{padding:clamp(46px, 8vh, 96px) var(--tp-gut) clamp(42px, 7vh, 84px) calc(var(--tp-rail) + clamp(22px, 4vw, 60px));position:relative}.tp-s--tall{flex-direction:column;justify-content:center;min-height:100svh;display:flex}.tp-s--dark{background:var(--tp-ink);color:#fff}.tp-s--dark:before{content:"";pointer-events:none;background:radial-gradient(125% 95% at 4% 112%,#e2622fb8 0%,#c4341a6b 26%,#781a1429 52%,#100c0b00 74%),radial-gradient(85% 60% at 96% -8%,#b0231d57 0%,#100c0b00 62%);position:absolute;inset:0}.tp-s--paper{background:var(--tp-paper);color:var(--tp-ink)}.tp-s>*{z-index:1;position:relative}.tp-wrap{width:100%;max-width:1180px}.tp-eyebrow{font-family:var(--font-mono), monospace;letter-spacing:.15em;text-transform:uppercase;color:#ffffff85;margin:0 0 clamp(16px,3vh,30px);font-size:clamp(10px,1.05vw,11.5px);font-weight:500}.tp-s--paper .tp-eyebrow{color:#100c0b7a}.tp-h{letter-spacing:-.028em;text-wrap:balance;max-width:15ch;margin:0;font-size:clamp(28px,5.1vw,58px);font-weight:500;line-height:1.04}.tp-lead{color:#ffffffbd;text-wrap:pretty;max-width:46ch;margin:clamp(14px,2.4vh,24px) 0 0;font-size:clamp(15px,1.55vw,18px);line-height:1.5}.tp-s--paper .tp-lead{color:#100c0bb8}.tp-lead em{color:var(--tp-flame);font-style:normal}.tp-chips{flex-wrap:wrap;gap:7px;margin:clamp(18px,3vh,30px) 0 0;padding:0;list-style:none;display:flex}.tp-chips li{color:#ffffffd1;border:1px solid #fff3;border-radius:6px;padding:9px 13px;font-size:13px;line-height:1}.tp-s--paper .tp-chips li{color:#100c0bc7;background:#ffffff80;border-color:#d9d4ce}.tp-lap{flex-wrap:wrap;align-items:baseline;gap:.4rem 1.1rem;margin:clamp(20px,3.4vh,34px) 0 0;padding:0;list-style:none;display:flex}.tp-lap div{flex-direction:column;gap:.2rem;display:flex}.tp-lap b{font-family:var(--font-mono), monospace;letter-spacing:-.04em;color:var(--tp-ember-1);font-size:clamp(22px,3.4vw,34px);font-weight:500}.tp-lap span{color:#ffffff80;font-size:12px}.tp-s--paper .tp-lap span{color:#100c0b80}.rail{z-index:40;pointer-events:none;color:#fff;width:1px;position:fixed;top:0;bottom:0;left:clamp(18px,4.2vw,44px)}.rail[data-on-paper]{color:#100c0b}.rail-track,.rail-fill{width:1px;position:absolute;top:0;left:0}.rail-track{opacity:.18;background:currentColor;bottom:0}.rail-fill{background:linear-gradient(#e2622f,#b0231d);box-shadow:0 0 12px #e2622f8c}.rail-node{opacity:.3;background:currentColor;border-radius:50%;width:7px;height:7px;margin-top:-3.5px;margin-left:-3.5px;transition:opacity .35s,background .35s,transform .35s;position:absolute;left:50%}.rail-node[data-state=done]{opacity:.7;background:#b0231d}.rail-node[data-state=active]{opacity:1;background:#d93b30;transform:scale(1.5)}@media (prefers-reduced-motion:reduce){.rail-node{transition:none}}.tp-badge{color:#ffffffc7;background:#ffffff0f;border-color:#ffffff38;margin-top:clamp(18px,3vh,30px)}.tp-badge svg{color:var(--tp-ember-1)}.tp .mode-pick{max-width:760px;padding-block:clamp(20px,3.6vh,38px) 0}.tp-s--dark .mode-card{color:#fff;background:#ffffff0a;border-color:#ffffff2e}.tp-s--dark .mode-card:hover{border-color:var(--tp-ember-1);background:#ffffff12}.tp-s--dark .mode-card svg{color:var(--tp-ember-1)}.tp-s--dark .mode-card p{color:#ffffffa8}.tp-tool{background:var(--ground);color:var(--ink);border:1px solid #ffffff24;border-radius:14px;margin-top:clamp(22px,4vh,40px);padding:clamp(.6rem,1.6vw,1rem)}.tp-tool .result-col{position:static}.tp-cta{color:#fff;background:#ffffff0f;border:1px solid #ffffff42;border-radius:999px;align-items:center;gap:.5rem;margin-top:clamp(20px,3.4vh,34px);padding:.7rem 1.15rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:border-color .16s,background .16s;display:inline-flex}.tp-cta:hover{border-color:var(--tp-ember-1);background:#e2622f24}.tp-cta svg{width:17px;height:17px;color:var(--tp-ember-1)}.tp-steps,.tp-limits{background:#d9d4ce;border:1px solid #d9d4ce;border-radius:10px;gap:1px;margin:clamp(22px,4vh,40px) 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.tp-steps li,.tp-limits li{background:var(--tp-paper);padding:clamp(.85rem,2vw,1.15rem)}.tp-steps li{align-items:baseline;gap:.75rem;display:flex}.tp-num{font-family:var(--font-mono), monospace;color:var(--tp-ember-2);flex:none;font-size:.68rem}.tp-steps h3,.tp-limits h3{margin:0 0 .2rem;font-size:.92rem;font-weight:600}.tp-steps p,.tp-limits p{color:#100c0bb3;text-wrap:pretty;margin:0;font-size:.86rem;line-height:1.5}@media (min-width:760px){.tp-limits{grid-template-columns:1fr 1fr}}@media (max-width:560px){.rail{display:none}.tp-s{padding-left:var(--tp-gut)}}.masthead{flex-wrap:wrap;align-items:baseline;gap:.45rem .9rem;padding-block:clamp(.9rem,3.5vw,1.7rem);display:flex}.masthead .tagline{letter-spacing:-.022em;text-wrap:balance;font-size:clamp(1.12rem,4.6vw,1.55rem);font-weight:500;line-height:1.25}.badge{border:1px solid var(--rule);background:var(--sunken);font-family:var(--font-mono), monospace;letter-spacing:-.01em;color:var(--ink-2);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:.35rem;padding:.24rem .55rem;font-size:.66rem;font-weight:500;display:inline-flex}.badge svg{width:13px;height:13px;color:var(--accent);flex:none}.mode-pick{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem;padding-block:clamp(1rem,3vw,2rem);display:grid}.mode-card{border:1px solid var(--rule);background:var(--surface);color:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:.4rem;padding:clamp(1rem,2.5vw,1.5rem);text-decoration:none;transition:border-color .12s,background .12s;display:flex}.mode-card:hover{border-color:var(--accent)}.mode-card svg{width:22px;height:22px;color:var(--accent);margin-bottom:.3rem}.mode-card h2{font-size:.98rem;font-weight:600}.mode-card p{color:var(--ink-2);text-wrap:pretty;font-size:.85rem}.tp-screen{width:100%;max-width:820px;margin:0 auto;padding:clamp(.9rem,2.5vw,1.75rem)}.drop{border:1.5px dashed var(--rule-2);background:var(--sunken);text-align:center;cursor:pointer;border-radius:12px;place-items:center;gap:.6rem;width:100%;padding:clamp(1.75rem,6vw,3.5rem) 1rem;transition:border-color .12s,background .12s;display:grid}.drop:hover,.drop[data-over=true]{border-color:var(--accent);background:var(--tint)}.drop svg{width:30px;height:30px;color:var(--ink-3)}.drop strong{font-size:.95rem;font-weight:600}.drop span{color:var(--ink-3);font-size:.83rem}.file-row{border:1px solid var(--rule);background:var(--sunken);border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.7rem .8rem;display:grid}.file-row .name{text-overflow:ellipsis;white-space:nowrap;font-size:.89rem;font-weight:500;overflow:hidden}.file-row .meta{font-family:var(--font-mono), monospace;color:var(--ink-3);font-size:.7rem}.lightbox{z-index:100;color:#000;background:#fff;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0}.lightbox-bar{font-family:var(--font-mono), monospace;color:#444;border-bottom:1px solid #d8d8d8;align-items:center;gap:.6rem;padding:.5rem .8rem;font-size:.7rem;display:flex}.lightbox-bar .grow{margin-left:auto}.lightbox-bar button{color:#000;cursor:pointer;background:#fff;border:1px solid #bbb;border-radius:6px;padding:.32rem .6rem;font-size:.74rem;font-weight:500}.lightbox-bar button:hover{border-color:#000}.lanes{place-content:center;gap:2.2vmin;padding:1.5vmin;display:grid}.lanes[data-lanes="1"]{grid-template-columns:1fr;gap:0;padding:0}.lanes[data-lanes="2"],.lanes[data-lanes="4"]{grid-template-columns:repeat(2,1fr)}.lane{image-rendering:pixelated;background:#fff;display:block}.lightbox-foot{color:#444;text-align:center;text-wrap:pretty;border-top:1px solid #d8d8d8;padding:.5rem .8rem .7rem;font-size:.78rem}.viewfinder{aspect-ratio:4/3;background:#000;border-radius:12px;position:relative;overflow:hidden}.viewfinder video{object-fit:cover;width:100%;height:100%;display:block}.reticle{pointer-events:none;border:2px solid #ffffff8c;border-radius:8px;transition:border-color .2s;position:absolute;inset:8%}.viewfinder[data-locked=true] .reticle{border-color:var(--accent)}.viewfinder-badge{color:#fff;font-family:var(--font-mono), monospace;white-space:nowrap;background:#000000b8;border-radius:999px;padding:.3rem .7rem;font-size:.68rem;position:absolute;bottom:.7rem;left:50%;transform:translate(-50%)}.progress{flex-direction:column;gap:.4rem;display:flex}.progress-track{background:var(--rule);border-radius:999px;height:7px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .25s}.progress-head{justify-content:space-between;align-items:baseline;gap:.6rem;font-size:.83rem;display:flex}.progress-head .pct{font-family:var(--font-mono), monospace;color:var(--ink-3);font-size:.75rem}.progress-note{color:var(--ink-2);text-wrap:pretty;min-height:1.2em;font-size:.8rem}.progress-note[data-tone=stalled]{color:var(--warn)}.telemetry{background:var(--rule);border:1px solid var(--rule);font-family:var(--font-mono), monospace;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:1px;display:grid;overflow:hidden}.telemetry>div{background:var(--surface);padding:.5rem .6rem}.telemetry dt{color:var(--ink-3);text-transform:lowercase;font-size:.62rem}.telemetry dd{color:var(--ink);margin:.1rem 0 0;font-size:.86rem}.done{border:1px solid color-mix(in srgb, var(--ok) 35%, transparent);background:color-mix(in srgb, var(--ok) 8%, transparent);text-align:center;border-radius:12px;place-items:center;gap:.7rem;padding:clamp(1.25rem,4vw,2.25rem) 1rem;display:grid}.done svg{width:30px;height:30px;color:var(--ok)}.done strong{font-size:.98rem}.done .meta{font-family:var(--font-mono), monospace;color:var(--ink-3);font-size:.72rem}
