.ts{content-visibility:visible;contain:none}.ts h2{font:500 clamp(2.3rem,5vw,4.5rem)/1.05 var(--font-affiche);color:var(--dp-gold-light);margin:.5rem 0 1rem}.ts__intro{max-width:65ch;color:var(--dp-text-dim);margin-bottom:28px}.ts__console{padding:18px;border:1px solid #b9a06a;border-radius:8px 64px 8px 38px;background:linear-gradient(140deg,#284333,#091b13 58%,#18291d);box-shadow:inset 0 0 0 5px #09150f,inset 0 0 0 6px #99b69533}.ts__mast{display:flex;justify-content:space-between;gap:20px;padding:8px 10px 20px;color:#d8c48c;font:.65rem/1.5 var(--font-machine);letter-spacing:.1em}.ts__viewport{position:relative;aspect-ratio:14/9;isolation:isolate;overflow:hidden;border:3px solid #b9a879;border-radius:5px 35px 5px 24px;background:#09150f}.ts__viewport picture,.ts__viewport img{display:block;width:100%;height:100%;object-fit:cover}.ts__viewport canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}.ts__viewport canvas:active{cursor:grabbing}.ts__zoom{position:absolute;z-index:4;left:12px;bottom:12px;display:grid;overflow:hidden;border:1px solid #d8c48c99;border-radius:5px 20px;background:#0c231cf2;box-shadow:0 4px 16px #0005}.ts .ts__zoom button{width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;font:400 1.6rem/1 var(--font-machine);touch-action:manipulation}.ts .ts__zoom button+button{border-top:1px solid #d8c48c44}.ts .ts__zoom button:disabled{opacity:.35;cursor:default}.ts .ts__zoom button:focus-visible{outline-offset:-4px}.ts__zoom[hidden]{display:none}.ts[data-ready] .ts__viewport:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,transparent 45%,#010a0650);box-shadow:inset 0 0 35px #04120b55}.ts__launch{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:28px;background:linear-gradient(transparent 55%,#06130de8)}.ts__launch[hidden],.ts__controls[hidden],.ts__badge[hidden],.ts__hotspots[hidden],.ts__return[hidden],.ts__hotspot[hidden]{display:none}.ts button{min-height:44px;padding:10px 16px;border:1px solid #afc99a70;border-radius:3px 16px 3px 12px;background:#183b2be8;color:#f4e4ad;font:600 .8rem/1.3 var(--font-capitale);cursor:pointer;transition:background .18s,transform .18s}.ts button:hover,.ts button[aria-pressed=true]{background:#345d40;border-color:#e9d699}.ts button:active{transform:translateY(2px)}.ts button:disabled{opacity:.6;cursor:wait}.ts :is(button,input,canvas):focus-visible{outline:2px solid #f5db94;outline-offset:4px}.ts__launch button{padding:16px 24px;font-size:1rem;box-shadow:0 8px 30px #0007}.ts__launch p,.ts__status,.ts__help,.ts__note{font-size:.8rem;color:#b2c7b8;line-height:1.6}.ts__badge{position:absolute;z-index:2;top:16px;left:16px;padding:6px 10px;background:#081b13d9;border:1px solid #a6cba36b;color:#d3e1b4;font:.55rem var(--font-machine);pointer-events:none}.ts__hotspots{position:absolute;inset:0;z-index:3;pointer-events:none}.ts .ts__hotspot{position:absolute;left:0;top:0;width:44px;height:44px;padding:0;border:0;background:transparent;border-radius:50%;pointer-events:auto;touch-action:manipulation;font:.6rem var(--font-machine);transition:scale .18s}.ts__hotspot:before{content:"";position:absolute;inset:6px;border:1px solid #ecd18f;border-radius:50%;background:#10291ee8;box-shadow:0 0 0 3px #091a1260,0 0 15px #d1bd6a35;transition:background .18s,box-shadow .18s}.ts__hotspot>span:first-child{position:relative;z-index:1}.ts .ts__hotspot:active{scale:.94}.ts .ts__hotspot[aria-pressed=true]{background:transparent}.ts__hotspot[aria-pressed=true]:before{background:#365a3a;border-color:#eff2bd;box-shadow:0 0 0 3px #9fd6a529,0 0 20px #a0e0ac55}.ts__hotspot-label{position:absolute;left:50%;bottom:calc(100% + 8px);translate:-50% 0;padding:5px 9px;border:1px solid #acbd8c80;border-radius:2px 8px 2px 6px;background:#071910ed;color:#f5e8b9;white-space:nowrap;opacity:0;transition:opacity .18s;pointer-events:none;font:.6rem var(--font-machine)}.ts__hotspot:is(:hover,:focus-visible,[data-active]) .ts__hotspot-label{opacity:1}.ts .ts__return{position:absolute;z-index:4;right:12px;bottom:12px;font-size:.65rem;min-height:44px;box-shadow:0 4px 15px #0005}.ts__status{margin:14px 6px;min-height:1.6em}.ts__actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ts__steer{display:flex;align-items:center;gap:18px;margin:18px 4px;color:#ddc995;font:.8rem var(--font-machine)}.ts__steer input{flex:1;min-width:0;min-height:44px;accent-color:#b5d6a2}.ts__steer output{min-width:4ch;text-align:right}.ts__views{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-top:1px solid #a1af7940;padding-top:16px}.ts__views>span{font:.6rem var(--font-machine);color:#b9bc9d;margin-right:10px}.ts__help{margin:16px 4px 2px}.ts__note{margin-top:16px;max-width:80ch}@media(max-width:899px){.ts__console{padding:12px;border-radius:6px 38px 6px 24px}.ts__mast{font-size:.5rem;gap:12px;padding:6px 4px 14px}.ts__mast span:last-child{max-width:16ch;text-align:right}.ts__viewport{aspect-ratio:1/1}.ts__actions{grid-template-columns:repeat(2,minmax(0,1fr))}.ts__launch{padding:16px}.ts__launch button{font-size:.8rem;padding:12px}.ts__views>span{width:100%}.ts button{font-size:.7rem;padding:8px 10px}.ts__steer{gap:10px}}@media(prefers-reduced-motion:reduce){.ts button,.ts .ts__hotspot,.ts__hotspot:before,.ts__hotspot-label{transition:none}.ts button:active{transform:none}.ts .ts__hotspot:active{scale:none}}html:not(.js) .ts__launch{display:none}
