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