.hero{position:relative;padding:clamp(40px,6vw,88px) 0 clamp(64px,8vw,120px);scroll-margin-top:72px;overflow:clip}.hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));-moz-column-gap:var(--gutter);column-gap:var(--gutter);row-gap:56px;align-items:start}.hero-copy{grid-column:1 / 7;padding-top:clamp(8px,2vw,40px)}.hero-machine{grid-column:7 / 13}.hero-dateline{display:flex;align-items:center;gap:10px;margin:0 0 28px;font:400 14px/1.2 var(--font-mono);color:var(--tso-dim)}.hero-dateline-node{width:10px;height:10px;background:var(--tso-accent)}.hero-title{--fill: 1;margin:0;font-family:var(--font-display);font-weight:800;font-stretch:118%;font-size:clamp(50px,7.1vw,116px);line-height:.94;letter-spacing:-.035em;text-wrap:balance;color:color-mix(in srgb,var(--tso-ink) calc(var(--fill) * 100%),transparent);-webkit-text-stroke:1.25px var(--tso-ink)}.hero-word{display:inline-block}.hero-rule{display:block;position:relative;height:1px;margin:36px 0 32px;background:var(--tso-rule);transform-origin:0 50%}.hero-rule:before,.hero-rule:after{content:"";position:absolute;top:-5px;width:1px;height:11px;background:var(--tso-faint)}.hero-rule:before{left:0}.hero-rule:after{right:0}.hero-sub .lead{max-width:34em;color:var(--tso-text)}.hero-sub .actions{margin-top:32px}.gm{--f: 1;position:relative}.gm-sheet{position:relative;margin:0;padding:30px 22px 0 34px;border:1px solid var(--tso-rule);background:var(--sheet-bg);overflow:hidden}.gm-sheet:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;pointer-events:none;background:linear-gradient(var(--tso-faint),var(--tso-faint)) left top / 12px 1px no-repeat,linear-gradient(var(--tso-faint),var(--tso-faint)) left top / 1px 12px no-repeat,linear-gradient(var(--tso-faint),var(--tso-faint)) right top / 12px 1px no-repeat,linear-gradient(var(--tso-faint),var(--tso-faint)) right top / 1px 12px no-repeat,linear-gradient(var(--tso-faint),var(--tso-faint)) left bottom / 12px 1px no-repeat,linear-gradient(var(--tso-faint),var(--tso-faint)) left bottom / 1px 12px no-repeat,linear-gradient(var(--tso-faint),var(--tso-faint)) right bottom / 12px 1px no-repeat,linear-gradient(var(--tso-faint),var(--tso-faint)) right bottom / 1px 12px no-repeat}.gm-ticks{position:absolute;display:flex;justify-content:space-around;font:400 11px/1 var(--font-mono);color:var(--tso-dim);pointer-events:none}.gm-ticks--x{left:34px;right:22px;top:11px}.gm-ticks--y{top:30px;bottom:64px;left:13px;flex-direction:column}.gm-stage{position:relative;aspect-ratio:4 / 3;container-type:inline-size}.gm-card{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:68cqw;height:46cqw;padding:4.4cqw 5cqw;border:1.5px dashed var(--tso-accent);background:var(--tso-canvas);display:flex;flex-direction:column;justify-content:center;gap:1.2cqw}.gm-card-line{display:block}.gm-card-meta{font:500 2.6cqw/1 var(--font-mono);color:var(--tso-accent);margin-bottom:1.4cqw}.gm-card-k{font:400 2.5cqw/1 var(--font-mono);color:var(--tso-dim);margin-top:1cqw}.gm-card-v{font:600 4cqw/1.2 var(--font-display);font-stretch:108%;color:var(--tso-ink);letter-spacing:-.01em}.gm-card-promise{text-decoration:underline;text-decoration-style:dashed;text-decoration-color:var(--tso-accent);text-underline-offset:.9cqw;text-decoration-thickness:1px}.gm-card-dim{position:absolute;right:-4.5cqw;top:0;bottom:0;width:1px;background:var(--tso-faint)}.gm-card-dim:before,.gm-card-dim:after{content:"";position:absolute;left:-1.2cqw;width:2.4cqw;height:1px;background:var(--tso-faint)}.gm-card-dim:before{top:0}.gm-card-dim:after{bottom:0}.gm-win,.gm-copy{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:84cqw;height:60cqw}.gm-win{z-index:2}.gm-copy{z-index:1}.gm-win-draft,.gm-win-real{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.gm-win-draft{border:1.5px dashed var(--tso-accent);color:var(--tso-accent);background:var(--tso-canvas)}.gm-win-real{--w-bg: #1E1E28;--w-ink: #F2F2F5;--w-accent: #AEAAF7;--w-key: #2A2A38;--w-line: #3A3A4A;background:var(--w-bg);color:var(--w-ink);border:1px solid var(--w-line);border-radius:2.2cqw;overflow:hidden;box-shadow:0 1px #ffffff0d inset,0 6cqw 9cqw -5cqw #000000bf}.gm-bar{height:7cqw;flex-shrink:0;display:flex;align-items:center;gap:1.2cqw;padding:0 2.6cqw;border-bottom:1px dashed var(--tso-accent)}.gm-win-real .gm-bar{border-bottom:1px solid var(--w-line)}.gm-bar i{width:1.6cqw;height:1.6cqw;border:1px solid currentColor;opacity:.6}.gm-brand{margin-left:1.6cqw;font:700 3.2cqw/1 var(--font-display);font-stretch:108%}.gm-brand sup{font-size:.55em}.gm-tagline{margin-left:auto;font:500 2.5cqw/1 var(--font-mono);color:var(--w-accent)}.gm-body{flex:1;min-height:0;display:grid;grid-template-columns:27% 1fr}.gm-side{list-style:none;margin:0;padding:3cqw 2cqw;display:flex;flex-direction:column;gap:2cqw;border-right:1px dashed var(--tso-accent)}.gm-win-real .gm-side{border-right:1px solid var(--w-line)}.gm-side li{font:500 2.4cqw/1 var(--font-text);padding-left:1.4cqw;border-left:2px solid transparent}.gm-win-draft .gm-side li{height:2.4cqw;border:1px solid currentColor;opacity:.55;width:80%;padding:0}.gm-win-real .gm-side li.on{border-left-color:var(--w-accent)}.gm-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.2cqw;padding:2cqw}.gm-lock{width:5cqw;height:5cqw;color:var(--w-accent)}.gm-label{font:500 2.4cqw/1 var(--font-mono)}.gm-dots{display:flex;gap:1.2cqw}.gm-dots b{width:2cqw;height:2cqw;border:1px solid currentColor}.gm-win-real .gm-dots b{border-color:var(--w-accent)}.gm-win-real .gm-dots b.f{background:var(--w-accent)}.gm-keys{display:grid;grid-template-columns:repeat(3,7cqw);gap:1cqw}.gm-keys span{height:5cqw;display:grid;place-items:center;font:500 2.4cqw/1 var(--font-mono);background:var(--w-key);border-radius:.6cqw}.gm-keys--draft span{background:none;border:1px solid currentColor;border-radius:0;opacity:.7}.gm-key-btn{font:600 2.3cqw/1 var(--font-text);color:var(--w-bg);background:var(--w-accent);padding:1.6cqw 3cqw;border-radius:.8cqw}.gm-scan{position:absolute;left:-3%;right:-3%;top:0;height:2px;background:var(--tso-accent);z-index:3}.gm-swatches{position:absolute;left:8cqw;bottom:.4cqw;display:flex;gap:15cqw;z-index:3}.gm-swatch{width:4.4cqw;height:4.4cqw;border:1px solid var(--tso-rule);position:relative}.gm-swatch em{position:absolute;left:calc(100% + 1.4cqw);top:50%;transform:translateY(-50%);font:400 2cqw/1 var(--font-mono);font-style:normal;color:var(--tso-dim);white-space:nowrap}.gm-ships{position:absolute;left:0;right:0;bottom:6cqw;display:flex;justify-content:space-around;z-index:3;gap:1cqw}.gm-ship{flex:1;text-align:center;font:500 2.5cqw/1.2 var(--font-mono);color:var(--tso-ink)}.gm-ship:before{content:"";display:block;width:1.8cqw;height:1.8cqw;margin:0 auto 1.2cqw;background:var(--tso-accent)}.gm--static .gm-card,.gm--static .gm-win-draft,.gm--static .gm-scan,.gm--static .gm-swatch{visibility:hidden}.gm--static .gm-win{transform:translate(-24.5cqw,-4.8cqw) scale(.47)}.gm--static .gm-copy-a{transform:translate(24.5cqw,-4.8cqw) scale(.47)}.gm-block{display:grid;grid-template-columns:1fr 1fr 1.3fr;margin:18px -22px 0 -34px;border-top:1px solid var(--tso-rule)}.gm-block-cell{padding:10px 14px;font:500 14px/1.2 var(--font-text);color:var(--tso-ink);border-left:1px solid var(--tso-rule)}.gm-block-cell:first-child{border-left:0;padding-left:34px}.gm-block-cell em{display:block;font:400 11px/1 var(--font-mono);font-style:normal;color:var(--tso-dim);margin-bottom:6px}.gm-block-stage{color:var(--tso-accent);font-weight:600}.gm-control{margin-top:26px}.gm-rail{position:relative;height:64px;margin:0 12px;touch-action:none;cursor:pointer}.gm-track,.gm-fill{position:absolute;left:0;right:0;top:18px;height:2px;margin-top:-1px;transform-origin:0 50%}.gm-track{background:var(--tso-rule)}.gm-fill{background:var(--tso-accent);transform:scaleX(var(--f))}.gm-node{position:absolute;top:0;left:calc(var(--i) * 25%);width:44px;height:36px;margin-left:-22px;padding:0;background:none;border:0;cursor:pointer;color:var(--tso-dim)}.gm-node:before{content:"";position:absolute;left:50%;top:18px;width:14px;height:14px;margin:-7px 0 0 -7px;background:var(--tso-canvas);border:1.5px solid var(--tso-faint);transition:background-color var(--dur-ui) var(--ease-out),border-color var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out)}.gm-node.is-on:before{background:var(--tso-accent);border-color:var(--tso-accent)}.gm-node:hover:before{transform:scale(1.25);border-color:var(--tso-accent)}.gm-node-label{position:absolute;top:40px;left:50%;transform:translate(-50%);white-space:nowrap;font:500 12px/1 var(--font-mono);transition:color var(--dur-ui) var(--ease-out)}.gm-node:first-of-type .gm-node-label{left:15px;transform:none}.gm-node:nth-of-type(5) .gm-node-label{left:auto;right:15px;transform:none;white-space:normal;width:84px;text-align:right;line-height:1.25}.gm-node.is-current{color:var(--tso-ink)}.gm-handle{position:absolute;top:18px;left:calc(var(--f) * 100%);width:22px;height:22px;margin:-11px 0 0 -11px;background:var(--tso-ink);box-shadow:0 0 0 5px color-mix(in srgb,var(--tso-accent) 28%,transparent);cursor:grab;z-index:2}.gm-handle:active{cursor:grabbing}.gm-handle:focus-visible{outline:2px solid var(--tso-accent);outline-offset:5px}.gm-caption{margin-top:10px;min-height:9.6em;display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:start}.gm-what{margin:0;font:400 16px/1.55 var(--font-text);color:var(--tso-text);animation:gm-swap var(--dur-enter) var(--ease-out) both}.gm-what strong{font:700 16px/1 var(--font-display);font-stretch:112%;color:var(--tso-ink)}@keyframes gm-swap{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.gm-eg{margin:0;padding-left:14px;border-left:1px solid var(--tso-rule);font:400 14px/1.55 var(--font-text);color:var(--tso-dim)}.gm-eg span{display:block;font:500 12px/1 var(--font-mono);color:var(--p-violet-text);margin-bottom:6px}.gm-turn{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;padding-top:14px;border-top:1px dashed var(--tso-rule);opacity:0;visibility:hidden;transition:opacity var(--dur-enter) var(--ease-out),visibility 0s linear var(--dur-enter)}.gm-turn.is-shown{opacity:1;visibility:visible;transition:opacity var(--dur-enter) var(--ease-out)}.gm-turn-text{font:500 14px/1.3 var(--font-mono);color:var(--tso-accent)}.gm-replay{background:none;border:0;padding:8px 0;color:var(--tso-text2);font:500 14px/1 var(--font-text);cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--tso-faint)}.gm-replay:hover{color:var(--tso-ink);text-decoration-color:currentColor}@media (max-width: 1079px){.hero-copy,.hero-machine{grid-column:1 / -1}.hero-machine{max-width:680px}.hero-title{font-size:clamp(48px,10.5vw,104px)}}@media (max-width: 599px){.hero-grid{row-gap:40px}.gm-sheet{padding:24px 12px 0 24px}.gm-ticks--x{left:24px;right:12px;top:8px}.gm-ticks--y{left:8px;top:24px}.gm-block{margin:14px -12px 0 -24px}.gm-block-cell{padding:9px 10px;font-size:13px}.gm-block-cell:first-child{padding-left:24px}.gm-node-label{display:none}.gm-node.is-current .gm-node-label{display:block}.gm-caption{grid-template-columns:1fr;gap:12px;min-height:13em}.gm-turn{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.gm-what{animation:none}}.gm-win-real--shot{padding:0;overflow:hidden;background:#1e1e28}.gm-win-real--shot img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}.film-btn{display:inline-flex;align-items:center;gap:12px;margin-top:28px;padding:6px 14px 6px 6px;background:none;border:0;color:var(--tso-ink);font:500 15px/1.3 var(--font-text);cursor:pointer;text-align:left}.film-btn-icon{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--tso-accent);color:var(--tso-accent);transition:background-color var(--dur-ui) var(--ease-out),color var(--dur-ui) var(--ease-out)}.film-btn-icon svg{width:14px;height:14px;transform:translate(1px)}.film-btn-len{font:400 13px/1 var(--font-mono);color:var(--tso-dim);font-variant-numeric:tabular-nums}.film-btn:hover .film-btn-icon,.film-btn:focus-visible .film-btn-icon{background:var(--tso-accent);color:var(--tso-canvas)}.film-btn:hover .film-btn-text{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.film-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#020914e0;display:flex;align-items:center;justify-content:center;padding:24px;overflow-y:auto}.film-dialog{--tso-ink: #F4F7FB;--tso-text: #CFD9E3;--tso-text2: #B5C3D1;--tso-dim: #97A7B7;--tso-rule: #34506F;--tso-canvas: #132A42;--tso-panel: #1A3350;--tso-accent: #5FB8E6;width:min(1120px,100%,calc((100vh - 330px)*1.7778));min-width:min(100%,640px);background:#132a42;color:#cfd9e3;border:1px solid #34506F;box-shadow:0 40px 120px -40px #000c;max-height:calc(100vh - 48px);overflow-y:auto;animation:film-in .42s var(--ease-out) both}@keyframes film-in{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}.film-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px 14px 24px;border-bottom:1px solid #34506F}.film-title{font:600 18px/1.2 var(--font-display);font-stretch:112%;color:#f4f7fb;letter-spacing:-.01em;margin:0}.film-len{font:400 13px/1 var(--font-mono);color:#97a7b7;margin-left:10px;letter-spacing:0}.film-close{color:#f4f7fb;border-color:#34506f}.fp{position:relative}.fp-screen{background:#040e1c}.f-frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;container-type:inline-size;background:#132a42;color:#cfd9e3}.f-scenes{position:absolute;top:0;right:0;bottom:0;left:0;font-family:var(--font-text)}.f-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;background-image:radial-gradient(circle at 1px 1px,rgba(95,184,230,.16) 1px,transparent 1.2px);background-size:2.5cqw 2.5cqw}.fp-captions{position:relative;min-height:4.4em;padding:12px 24px;display:grid;place-items:center;border-top:1px solid #13253B}.fp-captions .f-cap{grid-area:1 / 1;margin:0;text-align:center;color:#f4f7fb;font:500 clamp(15px,1.7vw,19px)/1.45 var(--font-text);max-width:60ch;text-wrap:balance}.fp--nocc .fp-captions{visibility:hidden}.f-prog{position:absolute;left:12%;right:12%;bottom:12%;height:0}.f-prog-track,.f-prog-fill{position:absolute;left:0;right:0;top:-1px;height:2px;transform-origin:0 50%}.f-prog-track{background:#33486a}.f-prog-fill{background:#5fb8e6}.f-prog-node{position:absolute;top:0;width:0;height:0}.f-prog-sq{position:absolute;left:-.8cqw;top:-.8cqw;width:1.6cqw;height:1.6cqw;border:2px solid #5FB8E6;background:transparent}.f-prog-lbl{position:absolute;top:1.6cqw;left:0;transform:translate(-50%);white-space:nowrap;font:500 max(9px,1.15cqw)/1 var(--font-mono);color:#b5c3d1}.f-prog-node-0 .f-prog-lbl{transform:none;left:-.8cqw}.f-prog-node-4 .f-prog-lbl{transform:translate(-100%);left:.8cqw}.f-live{position:absolute;right:-.8cqw;top:-4.4cqw;font:600 max(9px,1.2cqw)/1 var(--font-mono);color:#132a42;background:#5fb8e6;padding:.45cqw .7cqw}.f-note{position:absolute;display:inline-flex;align-items:center;gap:.7cqw;padding:1cqw 1.4cqw;border:1px dashed rgba(95,184,230,.7);color:#b5c3d1;font:400 max(10px,1.6cqw)/1.2 var(--font-mono);transform:rotate(var(--r));background:#06162a99}.f-note-node{width:.9cqw;height:.9cqw;border:1.5px solid #5FB8E6;flex-shrink:0}.f-keep{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:36cqw;height:13cqw;padding:1.8cqw 2.2cqw;border:1.5px dashed #5FB8E6;background:#1a3350;display:flex;flex-direction:column;justify-content:center;gap:.8cqw}.f-keep-meta{font:500 max(9px,1.2cqw)/1 var(--font-mono);color:#5fb8e6}.f-keep-text{font:700 2.7cqw/1.15 var(--font-display);font-stretch:112%;color:#f4f7fb;letter-spacing:-.01em}.f-logo{position:absolute;top:9%;left:50%;width:30cqw;margin-left:-15cqw;color:#f4f7fb}.f-logo .logo{width:100%;height:auto;display:block}.f-gate{position:absolute;top:5%;left:0;right:0;margin:0 auto;width:54cqw;background:#1a3350;border:1px solid #33486A;box-shadow:0 3cqw 6cqw -3cqw #000000b3;font-size:max(9px,1.32cqw);color:#cfd9e3}.f-gate-head{display:flex;justify-content:space-between;align-items:center;padding:1.1cqw 1.6cqw;border-bottom:1px solid #34506F;font:600 1.7cqw/1 var(--font-display);font-stretch:108%;color:#f4f7fb}.f-gate-x{width:1.4cqw;height:1.4cqw;border:1px solid #5D7590}.f-gate-body{padding:1.3cqw 1.6cqw 1.5cqw;display:flex;flex-direction:column;gap:.75cqw}.f-gate-meta{font:500 1.1cqw/1 var(--font-mono);color:#97a7b7}.f-gate-end{color:#b5c3d1}.f-gate-fs{border:1px solid #34506F;padding:.9cqw 1.1cqw;display:flex;flex-direction:column;gap:.6cqw}.f-gate-legend{font:500 1.05cqw/1 var(--font-mono);color:#97a7b7}.f-check{display:flex;align-items:center;gap:.8cqw;color:#f4f7fb}.f-box{width:1.4cqw;height:1.4cqw;border:1px solid #5D7590;display:grid;place-items:center;flex-shrink:0}.f-tick{width:.8cqw;height:.8cqw;background:#5fb8e6}.f-evidence{min-height:5cqw;border:1px solid #5FB8E6;background:#132a42;padding:.7cqw .9cqw;color:#f4f7fb;line-height:1.45}.f-caret{display:inline-block;width:1.5px;height:1.15em;background:#5fb8e6;vertical-align:text-bottom;margin-left:1px}.f-gate-decide{display:flex;gap:2cqw}.f-radio{display:inline-flex;align-items:center;gap:.7cqw;color:#f4f7fb}.f-radio-dot{width:1.3cqw;height:1.3cqw;border:1px solid #5FB8E6;box-shadow:inset 0 0 0 .25cqw #1a3350}.f-record{align-self:flex-start;background:#f4f7fb;color:#132a42;font:600 1.2cqw/1 var(--font-text);padding:1cqw 1.6cqw}.f-toast{position:absolute;top:34%;left:0;right:0;margin:0 auto;width:-moz-max-content;width:max-content;max-width:80%;display:flex;align-items:center;gap:1cqw;padding:1.3cqw 2cqw;background:#f4f7fb;color:#132a42;font:600 max(10px,1.5cqw)/1.3 var(--font-text)}.f-toast em{font:400 1.1cqw/1 var(--font-mono);font-style:normal;color:#313d4c;margin-left:.6cqw}.f-toast-node{width:1.2cqw;height:1.2cqw;background:#132a42;flex-shrink:0}.f-win,.f-copy{position:absolute;top:4%;left:0;right:0;margin:0 auto;width:46cqw;height:30cqw}.f-copy .f-win-real{--w-bg: #1E1E28;--w-ink: #F2F2F5;--w-accent: #AEAAF7;--w-line: #3A3A4A}.f-copy .f-brand-name,.f-copy .f-brand-tag{visibility:visible;opacity:1}.f-copy .f-bar-title--plain{display:none}.f-win-draft,.f-win-real{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.f-win-draft{border:1.5px dashed #5FB8E6;color:#5fb8e6}.f-win-real{--w-bg: #1E1E28;--w-ink: #F2F2F5;--w-accent: #AEAAF7;--w-line: #3A3A4A;background:var(--w-bg);color:var(--w-ink);border:1px solid var(--w-line);border-radius:1cqw;overflow:hidden;box-shadow:0 .2cqw #ffffff0a inset,0 3cqw 5cqw -2.5cqw #000000bf}.f-bar{height:3cqw;flex-shrink:0;display:flex;align-items:center;gap:.6cqw;padding:0 1.2cqw;border-bottom:1px solid currentColor;border-color:inherit}.f-win-draft .f-bar{border-bottom:1px dashed #5FB8E6}.f-win-real .f-bar{border-bottom:1px solid var(--w-line)}.f-bar i{width:.75cqw;height:.75cqw;border:1px solid currentColor;opacity:.7}.f-bar-title{margin-left:.8cqw;font:500 1.1cqw/1 var(--font-mono);opacity:.85}.f-brand-name{margin-left:.8cqw;font:700 1.5cqw/1 var(--font-display);font-stretch:108%;color:var(--w-ink)}.f-brand-name sup{font-size:.55em}.f-brand-tag{margin-left:auto;font:500 1.15cqw/1 var(--font-mono);color:var(--w-accent)}.f-body{flex:1;display:grid;grid-template-columns:28% 1fr;min-height:0}.f-side{list-style:none;margin:0;padding:1.2cqw 1cqw;display:flex;flex-direction:column;gap:.8cqw;border-right:1px solid var(--w-line, #5FB8E6)}.f-win-draft .f-side{border-right:1px dashed #5FB8E6}.f-side li{font:500 1.1cqw/1.6cqw var(--font-text);min-height:1.6cqw;padding-left:.6cqw;border-left:2px solid transparent}.f-win-draft .f-side li{border:1px solid rgba(95,184,230,.55);width:80%;height:1.2cqw;min-height:0}.f-win-real .f-side li.on{border-left-color:var(--w-accent)}.f-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1cqw;padding:1cqw}.f-label{font:500 1.15cqw/1 var(--font-mono)}.f-dots{display:flex;gap:.6cqw}.f-dot{width:1cqw;height:1cqw;border:1px solid #5FB8E6}.f-keys{display:grid;grid-template-columns:repeat(3,3.6cqw);gap:.5cqw}.f-key{height:2.5cqw;border:1px solid rgba(95,184,230,.6);display:grid;place-items:center;font:500 1.15cqw/1 var(--font-mono);color:#b5c3d1}.f-file{display:flex;align-items:center;gap:1cqw;padding:1cqw 1.3cqw;border:1px solid var(--w-line);min-width:60%}.f-file-icon{width:1.8cqw;height:2.2cqw;border:1.5px solid var(--w-accent);flex-shrink:0}.f-file-names{display:grid}.f-file-names>*{grid-area:1 / 1;font:500 1.25cqw/1.2 var(--font-mono)}.f-file-cipher{color:var(--w-accent)}.f-enc{display:inline-flex;align-items:center;gap:.7cqw;font:500 1.2cqw/1 var(--font-text)}.f-enc-node{width:.9cqw;height:.9cqw;background:var(--w-accent)}.f-keybtn{background:var(--w-accent);color:var(--w-bg);font:600 1.2cqw/1 var(--font-text);padding:1cqw 1.6cqw;border-radius:.3cqw}.f-opened{font:500 1.1cqw/1.3 var(--font-mono);color:var(--w-accent);text-align:center}.f-scan{position:absolute;left:-2%;right:-2%;top:0;height:2px;background:#5fb8e6;box-shadow:0 0 0 1px #5fb8e640}.f-users{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.f-user{position:absolute;display:inline-flex;align-items:center;gap:.6cqw;font:500 max(9px,1.15cqw)/1 var(--font-mono);color:#f4f7fb;background:#13253b;border:1px solid #33486A;padding:.6cqw .9cqw}.f-user span{width:.8cqw;height:.8cqw;background:#5fb8e6}.f-user-0{left:9%;top:18%}.f-user-1{right:8%;top:34%}.f-user-2{left:12%;top:56%}.f-brandkit{position:absolute;right:6%;top:8%;width:25cqw;display:flex;flex-direction:column;gap:1.4cqw}.f-namefield{display:flex;flex-direction:column;gap:.5cqw}.f-field-lbl{font:500 max(9px,1.05cqw)/1 var(--font-mono);color:#97a7b7}.f-field-val{min-height:3.6cqw;border:1px solid #5FB8E6;background:#1a3350;padding:0 1cqw;display:flex;align-items:center;font:700 1.9cqw/1 var(--font-display);font-stretch:108%;color:#f4f7fb}.f-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:.6cqw}.f-swatch{aspect-ratio:1;border:1px solid #33486A;position:relative}.f-swatch em{position:absolute;left:0;top:calc(100% + .4cqw);font:400 max(8px,.85cqw)/1 var(--font-mono);font-style:normal;color:#97a7b7}.f-versions{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.f-version{position:absolute;top:46%;width:24cqw;margin-left:-12cqw;text-align:center;display:flex;flex-direction:column;gap:.4cqw;font:400 max(9px,1.2cqw)/1.3 var(--font-mono);color:#b5c3d1}.f-version strong{font:700 1.8cqw/1 var(--font-display);font-stretch:112%;color:#f4f7fb}.f-version-0{left:23%}.f-version-1{left:50%}.f-version-2{left:77%}.f-end{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2cqw;text-align:center;padding:0 8%}.f-end-title{margin:0;font:800 6.4cqw/1 var(--font-display);font-stretch:118%;color:#f4f7fb;letter-spacing:-.02em}.f-end-sub{margin:0;font:400 max(12px,1.7cqw)/1.4 var(--font-text);color:#b5c3d1;max-width:44ch}.f-end-actions{display:flex;gap:1.2cqw;flex-wrap:wrap;justify-content:center}.f-end-btn.btn{height:auto;min-height:40px;padding:1.1cqw 2cqw}.f-end-btn.btn-primary{background:#f4f7fb;color:#132a42}.f-end-btn.btn-secondary{color:#f4f7fb;box-shadow:inset 0 0 0 1px #f4f7fb}.f-cursor{position:absolute;left:0;top:0;width:max(14px,1.5cqw);z-index:5;pointer-events:none}.f-cursor svg{display:block;width:100%;height:auto;transform-origin:10% 10%;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}.f-ripple{position:absolute;left:-1.2cqw;top:-1.2cqw;width:2.6cqw;height:2.6cqw;border:2px solid #5FB8E6}.fp-controls{display:flex;align-items:center;gap:16px;padding:14px 20px;border-top:1px solid #13253B}.fp-play{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;background:#f4f7fb;color:#132a42;border:0;cursor:pointer;transition:transform var(--dur-micro) var(--ease-out)}.fp-play:active{transform:scale(.94)}.fp-play svg{width:18px;height:18px}.fp-time{font:400 14px/1 var(--font-mono);color:#f4f7fb;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:92px}.fp-time-total{color:#97a7b7}.fp-scrub{position:relative;flex:1;height:36px;cursor:pointer;touch-action:none;outline-offset:2px}.fp-track,.fp-fill{position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px}.fp-track{background:#34506f}.fp-fill{background:#5fb8e6;transform-origin:0 50%;transform:scaleX(0)}.fp-mark{position:absolute;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;padding:0;border:1.5px solid #5FB8E6;background:#132a42;cursor:pointer}.fp-mark.is-on{background:#5fb8e6}.fp-mark:first-of-type{margin-left:0}.fp-handle{position:absolute;top:50%;left:0;width:16px;height:16px;margin:-8px 0 0 -8px;background:#f4f7fb;box-shadow:0 0 0 4px #5fb8e64d;pointer-events:none}.fp-cc{height:34px;padding:0 10px;border:1px solid #5D7590;background:none;color:#97a7b7;font:600 12px/1 var(--font-mono);cursor:pointer}.fp-cc.is-on{border-color:#f4f7fb;color:#f4f7fb}.fp-chapters{list-style:none;margin:0;padding:0 20px 4px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;overflow-x:auto}.fp-chapters button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 8px;background:none;border:0;border-top:2px solid #34506F;color:#97a7b7;cursor:pointer;text-align:left}.fp-chapters button:hover{color:#f4f7fb}.fp-chapters button.is-past{border-top-color:#5fb8e680}.fp-chapters button.is-current{border-top-color:#5fb8e6;color:#f4f7fb}.fp-ch-node{display:none}.fp-ch-name{font:500 13px/1.2 var(--font-text)}.fp-ch-time{font:400 12px/1 var(--font-mono);color:#97a7b7}.fp-keys{margin:0;padding:6px 20px 16px;font:400 12px/1.4 var(--font-mono);color:#97a7b7}.fp-board{padding:18px 20px 20px;display:flex;flex-direction:column;gap:14px}.fp-board-cap{margin:0;color:#f4f7fb;font:400 17px/1.5 var(--font-text)}.fp-board-n{font-weight:600}.fp-board-nav{display:flex;gap:12px;flex-wrap:wrap}.fp--board .fp-captions{display:none}@media (max-width: 760px){.film-backdrop{padding:0;align-items:stretch}.film-dialog{max-height:none;min-height:100%;border:0;animation:none}.f-frame{aspect-ratio:4 / 3}.f-win,.f-copy{width:58cqw;height:40cqw}.f-gate{width:84cqw;font-size:max(9px,2cqw)}.f-gate .f-gate-head{font-size:2.6cqw}.f-gate-meta,.f-gate-legend{font-size:1.8cqw}.f-box{width:2.2cqw;height:2.2cqw}.f-tick{width:1.2cqw;height:1.2cqw}.f-record{font-size:2cqw}.f-keep{width:64cqw;height:22cqw}.f-keep-text{font-size:4.4cqw}.f-logo{width:50cqw;margin-left:-25cqw}.f-brandkit{width:34cqw;right:3%}.f-version{width:30cqw;margin-left:-15cqw;top:52%}.f-end-title{font-size:9cqw}.fp-controls{gap:10px;padding:12px;flex-wrap:wrap}.fp-scrub{order:4;flex-basis:100%}.fp-time{min-width:0;margin-right:auto}.fp-chapters{grid-template-columns:repeat(8,120px);padding:0 12px 4px}.fp-keys{display:none}.f-prog-node-4 .f-prog-lbl{white-space:normal;width:12cqw;text-align:right;line-height:1.2}.f-swatch em{display:none}.f-brandkit{gap:2cqw}}.f-copy .f-file-cipher,.f-copy .f-opened{display:none}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-standard-normal-Ppvk0Q8J.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-standard-normal-BHGt_4Dy.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-standard-normal-DE4PpeND.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Bz_DfCM7.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-KciohO1a.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-DRcTKgkU.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-BOQBPhLk.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-DwPxiy7M.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-rxDMosIx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-orOpuDzJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-Dwk4USJY.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-C3gcVRmT.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-DIkdfYNE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-NNclZwdn.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-C-DuqEAe.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-n8WFCy3e.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BHECEgNJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-0cMsUeYr.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-BdrKXORt.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-D2beu9pF.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-BnKggSt2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-B3hZxag_.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-ZyMXPjaT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-DvQQgHTq.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CJUKFyLa.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BFiUPp6R.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DLynVohM.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-DxDDqVQb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-uwM7KshN.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-Dm_PoFIZ.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-O6-GRVqx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-CmcxpzmF.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-yqk7_qG0.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-BtGHVI3Q.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-N1TV9ACq.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-CevHOlzG.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-QhwQXayn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-Dn-cqWhb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-BhDX_RLI.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-C_OblDzq.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-zoSM89R3.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:DM Sans,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:IBM Plex Mono,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--tso-canvas: #0F0F12;--tso-panel: #17171C;--tso-rule: #2B2B33;--tso-ink: #F2F2F5;--tso-text: #C2C2CA;--tso-text2: #ABABB4;--tso-dim: #8A8A93;--tso-faint: #5E5E66;--tso-accent: #5FB8E6;--unolock-violet: #7163F1;--unolock-violet-2: #8477F5;--unolock-tint: #AEAAF7;--unolock-pitch: #1E1E28;--unolock-gold: #C18C21;--unolock-pink: #F2388F;--max: 1200px;--gutter-d: 32px;--gutter-m: 16px;--section-d: 120px;--section-m: 72px;--font-sans: "DM Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--fs-h1-d: 72px;--fs-h1-m: 40px;--lh-h1: 1.05;--fs-h2-d: 40px;--fs-h2-m: 28px;--lh-h2: 1.15;--fs-h3-d: 22px;--fs-h3-m: 18px;--lh-h3: 1.3;--fs-lead-d: 22px;--fs-lead-m: 18px;--lh-lead: 1.5;--fs-body-d: 17px;--fs-body-m: 16px;--lh-body: 1.6;--fs-cap-d: 12px;--fs-cap-m: 11px;--lh-cap: 1.4}html{scroll-behavior:auto;background:var(--tso-canvas);-webkit-text-size-adjust:100%}body{margin:0;background:var(--tso-canvas);color:var(--tso-text);font-family:var(--font-text);font-size:var(--fs-body);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color var(--dur-ui) var(--ease-out),color var(--dur-ui) var(--ease-out)}h1,h2,h3,h4{color:var(--tso-ink);margin:0;font-family:var(--font-display);text-wrap:balance}h1{font-size:var(--fs-h1);line-height:.98;font-weight:800;font-stretch:116%;letter-spacing:-.03em}h2{font-size:var(--fs-h2);line-height:1.02;font-weight:750;font-stretch:112%;letter-spacing:-.025em}h3{font-size:var(--fs-h3);line-height:1.2;font-weight:650;font-stretch:106%;letter-spacing:-.01em}p{margin:0;text-wrap:pretty}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--tso-accent);text-decoration:none}:focus-visible{outline:2px solid var(--tso-accent);outline-offset:3px}::-moz-selection{background:var(--tso-accent);color:var(--tso-canvas)}::selection{background:var(--tso-accent);color:var(--tso-canvas)}button{font-family:inherit}dl,dd{margin:0}.container{width:100%}@media (min-width: 375px){.container{max-width:375px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 900px){.container{max-width:900px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1440px){.container{max-width:1440px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.block{display:block}.inline{display:inline}.table{display:table}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}html[data-theme]{--night-50: #F4F7FB;--night-100: #EAEDF1;--night-200: #D1DAE5;--night-300: #B6BFC9;--night-400: #979FAA;--night-500: #707D8E;--night-600: #505C6C;--night-700: #313D4C;--night-800: #1B2634;--night-900: #0E1825;--night-950: #040D19;--blue-50: #E9F8FF;--blue-100: #D1EEFF;--blue-200: #A8DCFD;--blue-300: #7BC8F6;--blue-400: #5CB7EB;--blue-500: #3096CB;--blue-600: #0074A5;--blue-700: #00577F;--blue-800: #004060;--blue-900: #002D44;--blue-950: #001B2A;--font-display: "Archivo Variable", "Archivo", "Helvetica Neue", Arial, sans-serif;--font-text: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--font-sans: var(--font-text);--font-mono: "IBM Plex Mono", ui-monospace, monospace;--fs-h1: clamp(44px, 6.4vw, 104px);--fs-h2: clamp(32px, 4.2vw, 64px);--fs-h3: clamp(20px, 1.7vw, 26px);--fs-lead: clamp(18px, 1.45vw, 22px);--fs-body: clamp(16px, 1.1vw, 17px);--max: 1320px;--gutter: 48px;--pad: 48px;--section: clamp(72px, 7vw, 112px);--dur-micro: .16s;--dur-ui: .32s;--dur-enter: .7s;--dur-signature: 1.2s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1);--ease-materialise: cubic-bezier(.2, 0, .05, 1);--shadow-real: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 34px 60px -34px rgba(0, 0, 0, .75);--radius-real: 14px;--z-header: 50;--z-menu: 60;--z-toast: 70;--z-dialog: 80;--z-film: 90}html[data-theme=dark]{color-scheme:dark;--tso-canvas: #132A42;--tso-panel: #1A3350;--tso-raise: #213C5B;--tso-rule: #34506F;--tso-faint: #5D7590;--tso-dim: #97A7B7;--tso-text2: #B5C3D1;--tso-text: #CFD9E3;--tso-ink: #F4F7FB;--sheet-bg: #16304B;--hover: rgba(244, 247, 251, .06);--on-ink: #132A42;--p-violet-text: #8C80F7;--warn: #F2A65A;--footer-bg: #F4F7FB;--footer-ink: #132A42;--footer-text: #313D4C;--footer-rule: #CCD5E0}html[data-theme=light]{color-scheme:light;--tso-canvas: #EEF2F6;--tso-panel: #F7F9FC;--tso-raise: #FFFFFF;--tso-rule: #CCD5E0;--tso-faint: #9AA6B4;--tso-dim: #556274;--tso-text2: #3C4859;--tso-text: #233041;--tso-ink: #071426;--tso-accent: #00577F;--sheet-bg: #F7F9FC;--hover: rgba(7, 20, 38, .05);--on-ink: #F4F7FB;--p-violet-text: #4F42C9;--warn: #9A4A00;--shadow-real: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 30px 50px -30px rgba(7, 20, 38, .45);--footer-bg: #132A42;--footer-ink: #F4F7FB;--footer-text: #B5C3D1;--footer-rule: #34506F}@media (max-width: 1023px){html[data-theme]{--gutter: 32px;--pad: 32px}}@media (max-width: 599px){html[data-theme]{--gutter: 16px;--pad: 20px}}.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}.mono{font-family:var(--font-mono);font-weight:500;font-size:13px;letter-spacing:.01em;line-height:1.4}.mono-data{font-family:var(--font-mono);font-weight:400;font-variant-numeric:tabular-nums}.eyebrow{display:block;color:var(--tso-dim);margin-bottom:16px;font-family:var(--font-mono);font-size:13px}.lead{font-size:var(--fs-lead);line-height:1.5;color:var(--tso-text2);max-width:38em}.dim{color:var(--tso-dim)}.ink{color:var(--tso-ink)}.text2{color:var(--tso-text2)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:-1px}.skip-link{position:absolute;left:16px;top:-100px;z-index:100;background:var(--tso-ink);color:var(--on-ink);padding:12px 18px;font:600 14px/1 var(--font-text)}.skip-link:focus{top:12px}.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:28px;color:var(--tso-ink);font-weight:500;text-decoration:underline;text-decoration-color:var(--tso-faint);text-underline-offset:5px;text-decoration-thickness:1px;transition:text-decoration-color var(--dur-ui)}.text-link:hover{text-decoration-color:var(--tso-accent)}.section{position:relative;padding:var(--section) 0;scroll-margin-top:64px}.section--tight{padding-bottom:calc(var(--section) * .5)}.section-head{max-width:820px;margin-bottom:56px}.section-head .lead{margin-top:20px}.line-under,.statement{margin-top:56px;font:650 clamp(22px,2.2vw,32px)/1.2 var(--font-display);font-stretch:110%;color:var(--tso-ink);letter-spacing:-.015em;max-width:26em;text-wrap:balance}.statement--side{margin-top:32px;font-size:clamp(19px,1.6vw,23px);color:var(--tso-text2)}.sec-title{max-width:16em}.sec-title--huge{font-size:clamp(44px,6vw,96px);line-height:.96;letter-spacing:-.03em}.smark{display:flex;align-items:center;gap:14px;margin-bottom:44px;font:500 13px/1 var(--font-mono);color:var(--tso-dim)}.smark-node{width:11px;height:11px;border:1.5px solid var(--tso-accent);flex-shrink:0}.smark-node.is-solid{background:var(--tso-accent)}.smark-name{color:var(--tso-text2);white-space:nowrap}.smark-line{flex:1;height:1px;background:var(--tso-rule)}.smark-ref{white-space:nowrap}.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 26px;border:0;border-radius:2px;font:600 15px/1 var(--font-text);letter-spacing:.005em;cursor:pointer;background:none;white-space:nowrap;text-decoration:none;color:var(--tso-ink);transition:color var(--dur-ui) var(--ease-out),background-color var(--dur-ui) var(--ease-out),transform var(--dur-micro) var(--ease-out),box-shadow var(--dur-ui) var(--ease-out)}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:currentColor;opacity:0;transform:scaleX(0);transform-origin:0 50%;transition:transform var(--dur-ui) var(--ease-materialise),opacity var(--dur-ui)}.btn:active{transform:translateY(1px) scale(.985)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--tso-ink);color:var(--on-ink)}.btn-primary:hover{background:color-mix(in srgb,var(--tso-ink) 88%,var(--tso-accent))}.btn-primary:disabled:hover{background:var(--tso-ink)}.btn-secondary{box-shadow:inset 0 0 0 1px var(--tso-ink);color:var(--tso-ink)}.btn-secondary:hover:before{transform:scaleX(1);opacity:.1}.btn-ghost{color:var(--tso-text2);box-shadow:inset 0 0 0 1px var(--tso-rule)}.btn-ghost:hover{color:var(--tso-ink);background:var(--hover)}.btn-ul-primary{background:var(--p-tint, var(--unolock-tint));color:var(--p-bg, var(--unolock-pitch));border-radius:8px}.btn-ul-primary:hover{background:color-mix(in srgb,var(--p-tint, #AEAAF7) 86%,white)}.btn-ul-secondary{box-shadow:inset 0 0 0 1px var(--p-accent-text, var(--unolock-violet-2));color:#f2f2f5;border-radius:8px}.btn-ul-secondary:hover{background:#8477f529}.btn-sm{height:42px;padding:0 18px;font-size:14px}.btn-full{width:100%}.btn-danger{box-shadow:inset 0 0 0 1px var(--warn);color:var(--tso-ink)}.btn-danger:hover{background:color-mix(in srgb,var(--warn) 16%,transparent)}.btn:disabled:before{display:none}.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--tso-rule);background:none;color:var(--tso-ink);cursor:pointer;flex-shrink:0;border-radius:2px;transition:background-color var(--dur-micro),border-color var(--dur-micro)}.icon-btn:hover{background:var(--hover);border-color:var(--tso-faint)}.icon-btn-sm{width:34px;height:34px}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon{width:28px;height:28px;stroke:var(--tso-ink);fill:none;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;display:block}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}.theme-toggle{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid var(--tso-rule);background:none;color:var(--tso-ink);cursor:pointer;border-radius:2px;transition:border-color var(--dur-micro),background-color var(--dur-micro)}.theme-toggle:hover{border-color:var(--tso-faint);background:var(--hover)}.theme-toggle .tt-fill{transform-origin:12px 12px;transition:transform var(--dur-ui) var(--ease-materialise)}html[data-theme=light] .theme-toggle .tt-fill{transform:scale(0)}.logo{display:block;aspect-ratio:1916 / 405;width:auto;max-width:none;flex-shrink:0;color:var(--tso-ink);background:currentColor;-webkit-mask:url(/logo-techsologic.png) no-repeat center / contain;mask:url(/logo-techsologic.png) no-repeat center / contain}.logo-header{height:34px}.logo-footer{height:auto;width:min(100%,760px);color:var(--footer-ink)}.logo-signin{height:30px}.logo-studio{height:24px}.logo-hero{height:auto;width:100%}.logo-link{display:block;flex-shrink:0;line-height:0;color:var(--tso-ink)}@media (max-width: 767px){.logo-header{height:28px}}.site-header{position:sticky;top:0;z-index:var(--z-header);background:var(--tso-canvas);border-bottom:1px solid transparent;transition:border-color var(--dur-ui),background-color var(--dur-ui)}.site-header.is-condensed{border-bottom-color:var(--tso-rule);background:color-mix(in srgb,var(--tso-canvas) 96%,var(--tso-ink))}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:80px;transition:height var(--dur-ui) var(--ease-out)}.is-condensed .header-inner{height:64px}.nav{display:flex;align-items:center;gap:30px;margin-left:auto}.nav-link{position:relative;display:inline-flex;align-items:center;gap:8px;color:var(--tso-text2);font:500 15px/1 var(--font-text);padding:10px 0;transition:color var(--dur-micro)}.nav-node{width:7px;height:7px;border:1px solid var(--tso-faint);transition:background-color var(--dur-ui),border-color var(--dur-ui),transform var(--dur-ui) var(--ease-materialise)}.nav-link:hover{color:var(--tso-ink)}.nav-link:hover .nav-node{border-color:var(--tso-accent);background:var(--tso-accent);transform:rotate(90deg)}.nav-link.is-current{color:var(--tso-ink)}.nav-link.is-current .nav-node{background:var(--tso-accent);border-color:var(--tso-accent)}.header-tools{display:flex;align-items:center;gap:10px}.menu-btn{display:none}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-menu);background:var(--tso-canvas);display:flex;flex-direction:column;padding:0 var(--pad) 28px;overflow-y:auto;animation:overlay-in var(--dur-ui) var(--ease-out) both}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.overlay-top{display:flex;align-items:center;justify-content:space-between;height:64px;border-bottom:1px solid var(--tso-rule);flex-shrink:0}.overlay-tools{display:flex;gap:10px}.overlay-links{flex:1;padding-top:12px;padding-bottom:32px}.overlay-links a,.overlay-links button.overlay-link{display:flex;align-items:center;gap:16px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--tso-rule);font:750 clamp(30px,8.6vw,44px)/1.1 var(--font-display);font-stretch:112%;color:var(--tso-ink);padding:20px 0;letter-spacing:-.02em;cursor:pointer;animation:menu-row var(--dur-enter) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 50ms + 60ms)}.overlay-links a.active{color:var(--tso-accent)}@keyframes menu-row{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}.ol-node{width:14px;height:14px;border:2px solid var(--tso-accent);flex-shrink:0}.overlay-links a:active .ol-node{background:var(--tso-accent)}.overlay-bottom{display:flex;flex-direction:column;gap:14px}.overlay-studio{color:var(--tso-dim);font-size:15px;text-align:center;padding:8px}@media (max-width: 899px){.nav{display:none}.menu-btn{display:inline-flex}.header-cta{display:none}}.prog-wrap{position:relative}.prog-track{position:absolute;left:0;right:0;top:6px;height:1px;background:var(--tso-rule)}.prog-fill{position:absolute;left:0;top:0;height:2px;margin-top:-.5px;width:var(--p, 0%);background:var(--tso-accent);transition:width .9s var(--ease-materialise),height .9s var(--ease-materialise)}.prog{position:relative;display:grid;grid-template-columns:repeat(5,1fr)}.prog li{position:relative;padding-top:30px;padding-right:12px}.prog .sq{position:absolute;top:0;left:0;width:13px;height:13px;background:var(--tso-canvas);border:1.5px solid var(--tso-faint);transition:background-color .4s var(--ease-out),border-color .4s var(--ease-out),transform .4s var(--ease-materialise)}.prog li.on .sq{background:var(--tso-accent);border-color:var(--tso-accent)}.prog .num{display:block;color:var(--tso-dim);margin-bottom:4px;font:400 12px/1.4 var(--font-mono)}.prog .lbl{display:block;color:var(--tso-dim);font:600 15px/1.3 var(--font-display);font-stretch:106%;letter-spacing:0}.prog li.on .lbl{color:var(--tso-ink)}.prog .extra{display:block;color:var(--tso-text2);margin-top:8px;font:400 13px/1.3 var(--font-mono)}.how-line{margin:8px 0 56px}@media (max-width: 899px){.prog{grid-template-columns:1fr;gap:20px;padding-left:32px}.prog-track{left:6px;right:auto;top:0;bottom:0;width:1px;height:auto}.prog-fill{width:2px;margin:0 0 0 -.5px;height:var(--p, 0%)}.prog li{padding-top:0}.prog .sq{left:-32px;top:3px}.prog .num{display:inline;margin-right:10px}.prog .lbl{display:inline}.prog .extra{display:inline;margin-left:10px;margin-top:0}.prog-ends,.how-line{display:none}}.prog-ends{display:flex;justify-content:space-between;margin-top:28px;color:var(--tso-dim)}.what-title{max-width:18em;margin-bottom:72px}.relay-wrap{position:relative;padding-right:120px}.relay-spine{position:absolute;left:7px;top:34px;bottom:34px;width:2px;background:var(--tso-accent);transform-origin:50% 0}.relay{position:relative}.relay-row{position:relative;display:grid;grid-template-columns:16px 64px minmax(0,1.2fr) minmax(0,1fr);-moz-column-gap:32px;column-gap:32px;align-items:center;padding:36px 0;border-top:1px solid var(--tso-rule)}.relay-row:last-child{border-bottom:1px solid var(--tso-rule)}.relay-node{width:16px;height:16px;border:2px solid var(--tso-accent);background:var(--tso-canvas);position:relative;z-index:1}.relay-node--half{background:linear-gradient(90deg,var(--tso-accent) 50%,var(--tso-canvas) 50%)}.relay-node--solid{background:var(--tso-accent)}.relay-icon{width:64px;height:64px;display:grid;place-items:center;border:1px dashed var(--tso-faint);color:var(--tso-ink);transition:border-color var(--dur-ui),background-color var(--dur-ui)}.relay-row:hover .relay-icon{border-style:solid;border-color:var(--tso-accent);background:var(--hover)}.relay-verb{font-size:clamp(26px,2.8vw,42px);font-weight:750;font-stretch:114%;letter-spacing:-.025em;line-height:1.05}.relay-body{color:var(--tso-text2);max-width:30em}.relay-dim{position:absolute;right:36px;top:0;bottom:0;width:1px;background:var(--tso-faint);transform-origin:50% 50%}.relay-dim:before,.relay-dim:after{content:"";position:absolute;left:-8px;width:17px;height:1px;background:var(--tso-faint)}.relay-dim:before{top:0}.relay-dim:after{bottom:0}.relay-dim-label{position:absolute;top:50%;left:14px;transform:translateY(-50%) rotate(90deg);transform-origin:0 50%;white-space:nowrap;font:500 13px/1 var(--font-mono);color:var(--tso-accent);margin-left:8px}@media (max-width: 899px){.relay-wrap{padding-right:44px}.relay-row{grid-template-columns:16px minmax(0,1fr);-moz-column-gap:20px;column-gap:20px;row-gap:12px;padding:28px 0;align-items:start}.relay-icon{display:none}.relay-node{margin-top:10px}.relay-body{grid-column:2}.relay-dim{right:12px}}.how-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--gutter);align-items:end;margin-bottom:64px}.how-head-side .lead{margin-bottom:4px}.film-btn--inline{margin-top:20px}.stages{position:relative}.stages-rail{position:absolute;left:6px;width:2px;margin-left:-.5px;background:var(--tso-rule)}.stages-rail-fill{position:absolute;left:0;top:0;width:2px;background:var(--tso-accent);transition:height .9s var(--ease-materialise)}.stage{display:grid;grid-template-columns:13px 260px minmax(0,1fr) minmax(0,.9fr);-moz-column-gap:40px;column-gap:40px;padding:44px 0;border-top:1px solid var(--tso-rule)}.stage:last-child{border-bottom:1px solid var(--tso-rule)}.stage .sq{width:13px;height:13px;background:var(--tso-canvas);border:1.5px solid var(--tso-faint);margin-top:9px;position:relative;z-index:1;transition:background-color .4s var(--ease-out),border-color .4s var(--ease-out)}.stage.on .sq{background:var(--tso-accent);border-color:var(--tso-accent)}.stage__num{display:block;color:var(--tso-dim);margin-bottom:10px;font:400 13px/1 var(--font-mono)}.stage__head h3{font-size:clamp(24px,2.3vw,34px);font-weight:750;font-stretch:114%;letter-spacing:-.02em;transition:color var(--dur-ui)}.stage:not(.on) .stage__head h3{color:var(--tso-text2)}.stage__what{color:var(--tso-text);padding-top:4px}.stage__eg{font-size:15px;line-height:1.6;color:var(--tso-dim);border-left:1px dashed var(--tso-faint);padding-left:22px;padding-top:4px}.stage__eg-k{display:block;color:var(--p-violet-text);margin-bottom:6px;font:500 12px/1 var(--font-mono)}.how-end{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:56px}.how-end p{font:700 clamp(22px,2vw,28px)/1.2 var(--font-display);font-stretch:110%;color:var(--tso-ink);letter-spacing:-.015em}.how-more{margin-left:auto;color:var(--tso-text2);font-weight:500;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--tso-faint)}.how-more:hover{color:var(--tso-ink);text-decoration-color:var(--tso-accent)}.arrow-btn{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px var(--tso-ink);color:var(--tso-ink);transition:background-color var(--dur-ui),color var(--dur-ui)}.arrow-btn:hover{background:var(--tso-ink);color:var(--on-ink)}.arrow-btn svg{transition:transform var(--dur-ui) var(--ease-materialise)}.arrow-btn:hover svg{transform:translateY(3px)}.products-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:56px}.products-key{display:flex;gap:24px;flex-wrap:wrap;font:400 13px/1 var(--font-mono);color:var(--tso-dim)}.products-key span,.legend-card p{display:inline-flex;align-items:center;gap:10px}.key-solid,.key-open{display:inline-block;width:12px;height:12px;flex-shrink:0}.key-solid{background:var(--tso-ink);border-radius:2px}.key-open{border:1.5px dashed var(--tso-accent)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}.card{position:relative;display:flex;flex-direction:column;padding:32px;transition:transform var(--dur-ui) var(--ease-out),box-shadow var(--dur-ui) var(--ease-out),border-color var(--dur-ui)}.card-body{display:flex;flex-direction:column;flex:1}.card-visual{margin-bottom:28px}.card-branded{background:var(--p-bg);color:#e6e6ee;border-radius:var(--radius-real);box-shadow:var(--shadow-real);--tso-ink: #F2F2F5;--tso-text: #D6D6E0;--tso-text2: #BDBDCB;--tso-dim: #9D9DB0;--tso-faint: #5A5A6E;--tso-rule: #34344A;--tso-canvas: var(--p-bg)}.card-branded:hover{transform:translateY(-4px);box-shadow:0 1px #ffffff0d inset,0 44px 70px -36px #000c}.card-draft{border:1.5px dashed color-mix(in srgb,var(--tso-accent) 70%,transparent);background:transparent}.card-draft:hover{border-style:solid}.grid2--single{grid-template-columns:1fr}.grid2--single .card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center}.grid2--single .card-visual{margin:0}.card-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ul-logo{font:800 32px/1 var(--font-display);font-stretch:112%;color:var(--tso-ink);letter-spacing:-.025em;margin:0}.ul-logo sup{font-size:12px;font-weight:500;margin-left:2px;vertical-align:super}.tag{display:inline-flex;align-items:center;gap:7px;font:500 12px/1 var(--font-mono);letter-spacing:.02em;text-transform:none;padding:6px 10px 6px 8px;line-height:1;white-space:nowrap;border:1px solid;border-radius:2px}.tag:before{content:"";width:7px;height:7px;border:1.5px solid currentColor;flex-shrink:0}.tag-live{color:var(--p-accent-text, var(--tso-accent));border-color:color-mix(in srgb,var(--p-accent-text, var(--tso-accent)) 60%,transparent)}.tag-live:before{background:currentColor}.tag-wip,.tag-open{color:var(--tso-text2);border-color:var(--tso-faint);border-style:dashed}.tag-retired,.tag-unpublished{color:var(--tso-dim);border-color:var(--tso-rule)}.tag-unpublished:before{border-style:dashed}.tag-resolved{color:var(--tso-ink);border-color:var(--tso-text2)}.tag-resolved:before{background:currentColor}.tag-simulated{color:var(--tso-text2);border-color:var(--tso-faint)}.tag-neutral{color:var(--tso-text2);border-color:var(--tso-rule)}.tag-neutral:before{display:none}.mini{display:flex;align-items:center;gap:6px;margin:24px 0 26px}.mini span{width:12px;height:12px;border:1.5px solid var(--tso-faint);flex-shrink:0}.mini span.on{background:var(--tso-accent);border-color:var(--tso-accent)}.mini em{font-style:normal;margin-left:12px;color:var(--tso-dim);font:400 13px/1 var(--font-mono)}.mini.compact{margin:0}.card .one,.block .one{font:750 clamp(24px,2.3vw,32px)/1.12 var(--font-display);font-stretch:110%;color:var(--tso-ink);letter-spacing:-.02em;margin-bottom:24px}.ul-lines{margin-bottom:4px}.ul-lines li{position:relative;padding:13px 0 13px 24px;border-top:1px solid var(--tso-rule);color:var(--tso-text)}.ul-lines li:before{content:"";position:absolute;left:0;top:21px;width:9px;height:9px;background:var(--p-accent, var(--tso-accent))}.ul-lines li:last-child{border-bottom:1px solid var(--tso-rule)}.pills{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 30px}.pill{font:500 13px/1 var(--font-mono);color:var(--tso-text2);border:1px solid var(--tso-rule);padding:7px 11px;border-radius:999px}.card-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}.card-actions .btn{padding:0 20px}.lab-copy{color:var(--tso-text2);font-size:17px}.all-link{display:inline-flex;align-items:center;gap:10px;margin-top:44px;color:var(--tso-ink);font-weight:600;padding-bottom:6px;border-bottom:1px solid var(--tso-rule);transition:border-color var(--dur-ui),gap var(--dur-ui) var(--ease-out)}.all-link:hover{border-color:var(--tso-accent);gap:16px}.laptop{margin:0 auto;max-width:560px}.laptop-slot{aspect-ratio:16 / 11}.laptop__lid{padding:2.4%;border-radius:12px 12px 4px 4px;background:#101018;border:1px solid #3A3A4A}.laptop__screen{aspect-ratio:16 / 10;background:var(--p-bg, #1E1E28);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;container-type:inline-size;color:#f2f2f5}.laptop__base{height:14px;margin:0 -7%;background:#2a2a36;border-radius:0 0 14px 14px;border:1px solid #3A3A4A;border-top:0;position:relative}.laptop__base:after{content:"";position:absolute;left:42%;right:42%;top:0;height:5px;background:#1a1a24;border-radius:0 0 6px 6px}.ls-bar{height:9cqw;flex-shrink:0;display:flex;align-items:center;gap:1.4cqw;padding:0 3cqw;border-bottom:1px solid #34344A}.ls-bar i{width:1.6cqw;height:1.6cqw;border-radius:50%;background:#3a3a4a}.ls-name{margin-left:2cqw;font:700 3.4cqw/1 var(--font-display);font-stretch:108%}.ls-name sup{font-size:.55em}.ls-tag{margin-left:auto;font:500 2.6cqw/1 var(--font-mono);color:var(--p-tint, #AEAAF7)}.ls-body{flex:1;display:grid;grid-template-columns:28% 1fr;min-height:0}.sb{display:flex;flex-direction:column;gap:2.2cqw;border-right:1px solid #34344A;padding:3.4cqw 2.4cqw}.sb li{font:500 2.5cqw/1 var(--font-text);color:#bdbdcb;padding-left:1.6cqw;border-left:2px solid transparent}.sb li.on{color:#f2f2f5;border-left-color:var(--p-accent, var(--unolock-violet))}.sb i{display:block;height:6px;background:#2e2e3c}.pin{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.2cqw}.pin-lbl,.pin .mono{font:500 2.6cqw/1 var(--font-mono);color:var(--p-tint, var(--unolock-tint))}.pin-note{font:400 2.1cqw/1 var(--font-mono);color:#9d9db0}.dots{display:flex;gap:1.4cqw}.dots b{width:2.1cqw;height:2.1cqw;border:1px solid var(--p-accent-text, var(--unolock-violet-2));border-radius:50%}.dots b.f{background:var(--p-accent-text, var(--unolock-violet-2))}.keys{display:grid;grid-template-columns:repeat(3,7.4cqw);gap:1.2cqw}.keys span{height:5.4cqw;background:#2a2a38;border-radius:.8cqw;display:grid;place-items:center;font:500 2.6cqw/1 var(--font-mono);color:#e6e6ee}.keys span:empty{background:transparent}.lab-visual{aspect-ratio:5 / 2;display:flex;align-items:center;justify-content:center}.lab-visual svg{width:100%;height:auto;overflow:visible}.lv-frame{stroke:var(--tso-rule);stroke-width:1;stroke-dasharray:4 4;fill:none}.lv-cross{stroke:var(--tso-rule);stroke-width:.6;stroke-dasharray:2 5}.lv-track{stroke:var(--tso-faint);stroke-width:1.5}.lv-fill{stroke:var(--tso-accent);stroke-width:2}.lv-node{fill:var(--tso-canvas);stroke:var(--tso-faint);stroke-width:1.5}.lv-node--on{fill:var(--tso-accent);stroke:var(--tso-accent)}.lv-dim{stroke:var(--tso-dim);stroke-width:1;fill:none}.lv-text{font:500 10px var(--font-mono);fill:var(--tso-dim)}.lv-text--on{fill:var(--tso-ink)}.skeleton{border:1.5px dashed var(--tso-rule);padding:32px;min-height:520px;display:flex;flex-direction:column;gap:16px}.skeleton .blk{aspect-ratio:16 / 10;border:1px dashed var(--tso-rule);display:flex;align-items:center;justify-content:center;gap:0;padding:0 18%}.skeleton-node{width:12px;height:12px;border:1.5px solid var(--tso-faint);flex-shrink:0}.skeleton-line{flex:1;height:1px;background:var(--tso-faint);transform-origin:0 50%;animation:sk-draw 1.4s var(--ease-inout) infinite alternate}@keyframes sk-draw{0%{transform:scaleX(.1)}to{transform:scaleX(1)}}.skeleton .bar{height:12px;background:var(--tso-rule);opacity:.6}.products-page{padding-bottom:var(--section)}.blocks{display:flex;flex-direction:column;gap:40px}.block{padding:48px}.block-branded{background:var(--p-bg);border-radius:var(--radius-real);box-shadow:var(--shadow-real);color:#e6e6ee;--tso-ink: #F2F2F5;--tso-text: #D6D6E0;--tso-text2: #BDBDCB;--tso-dim: #9D9DB0;--tso-faint: #5A5A6E;--tso-rule: #34344A;--tso-canvas: var(--p-bg)}.block-draft{border:1.5px dashed color-mix(in srgb,var(--tso-accent) 70%,transparent)}.block-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}.block .one{margin-top:28px}.block-note{margin-top:20px;padding-left:16px;border-left:1px dashed var(--tso-faint);color:var(--tso-dim);font:400 14px/1.5 var(--font-mono)}.stage-reached{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}.sr-label{font:400 13px/1 var(--font-mono);color:var(--tso-dim)}.spec{margin-top:36px}.spec-title{display:block;font:400 13px/1 var(--font-mono);color:var(--tso-dim);margin-bottom:10px}.versions li{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--tso-rule);color:var(--tso-text)}.versions li:first-child{border-top:1px solid var(--tso-rule)}.spec-k{font:700 16px/1.3 var(--font-display);font-stretch:108%;color:var(--tso-ink)}.spec-v{font:400 14px/1.5 var(--font-mono);color:var(--tso-text2)}.lab-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.legend-card{border:1px solid var(--tso-rule);padding:24px;display:flex;flex-direction:column;gap:14px;max-width:380px;margin-left:auto;color:var(--tso-text2);font-size:15px}.legend-title{font:400 13px/1 var(--font-mono);color:var(--tso-dim)}.team-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--gutter);align-items:start}.team-head{position:sticky;top:104px}.bom{width:100%;border-collapse:collapse}.bom th,.bom td{text-align:left;vertical-align:top}.bom thead th{font:400 12px/1 var(--font-mono);color:var(--tso-dim);padding:0 16px 14px 0;border-bottom:1.5px solid var(--tso-ink)}.bom tbody tr{border-bottom:1px solid var(--tso-rule);transition:background-color var(--dur-ui)}.bom tbody tr:hover{background:var(--hover)}.bom tbody td,.bom tbody th{padding:22px 16px 22px 0}.bom-item{width:56px;font:400 13px/1.9 var(--font-mono);color:var(--tso-dim);padding-left:4px}.bom-part{width:38%;font:650 19px/1.3 var(--font-display);font-stretch:106%;color:var(--tso-ink)}.bom-part-in{display:flex;align-items:center;gap:14px}.bom-icon{display:inline-grid;place-items:center;flex-shrink:0;width:34px;height:34px;color:var(--tso-accent);border:1px solid var(--tso-rule)}.bom-what{color:var(--tso-text2)}@media (max-width: 1023px){.team-grid{grid-template-columns:1fr}.team-head{position:static}}@media (max-width: 599px){.bom thead{display:none}.bom tbody tr{display:grid;grid-template-columns:40px 1fr;padding:18px 0}.bom tbody td,.bom tbody th{padding:0}.bom-item{width:auto;padding-left:0;grid-row:span 2}.bom-part{width:auto;margin-bottom:6px}.bom-icon{width:28px;height:28px}.bom-part-in{gap:10px}}.company-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gutter);align-items:start;margin-bottom:72px}.revlog{border-top:1.5px solid var(--tso-ink)}.revlog-row{display:grid;grid-template-columns:70px 88px minmax(0,1fr);gap:20px;padding:22px 0;border-bottom:1px solid var(--tso-rule);align-items:baseline}.revlog-rev{font:400 12px/1 var(--font-mono);color:var(--tso-dim)}.revlog-when{font:750 22px/1 var(--font-display);font-stretch:112%;color:var(--tso-ink);letter-spacing:-.01em}.revlog-what{color:var(--tso-text);font-size:17px}.revlog-row.is-now .revlog-when{color:var(--tso-accent)}.rule-grid{display:grid;gap:1px;background:var(--tso-rule);border:1px solid var(--tso-rule)}.rule-grid>*{background:var(--tso-canvas)}.cols3{grid-template-columns:repeat(3,1fr)}.col{padding:40px}.facts{grid-template-columns:repeat(4,1fr);margin:0}.fact{padding:26px 24px 28px}.fact .idx{color:var(--tso-dim);display:block;margin-bottom:18px;font:400 12px/1 var(--font-mono)}.fact .val{color:var(--tso-ink);font:700 clamp(17px,1.5vw,21px)/1.25 var(--font-display);font-stretch:108%}.history{max-width:820px}.tiles{grid-template-columns:repeat(3,1fr)}.tile{padding:36px}.contact-head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--gutter);align-items:end;margin-bottom:56px}.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cards4{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.ccard{position:relative;border:1px solid var(--tso-rule);padding:30px;display:flex;flex-direction:column;background:var(--tso-panel);transition:border-color var(--dur-ui),transform var(--dur-ui) var(--ease-out)}.ccard:hover{border-color:var(--tso-faint)}.ccard:after{content:"";position:absolute;left:-1px;top:-1px;width:0;height:2px;background:var(--tso-accent);transition:width var(--dur-enter) var(--ease-materialise)}.ccard:hover:after,.ccard:focus-within:after{width:calc(100% + 2px)}.ccard-route{font:400 12px/1 var(--font-mono);color:var(--tso-dim);margin-bottom:26px}.ccard h3{margin-bottom:12px;font-size:24px}.ccard p{color:var(--tso-text2);margin-bottom:28px}.ccard-foot{margin-top:auto}.ccard .email{display:block;font:500 15px/1.3 var(--font-mono);color:var(--tso-ink);margin-bottom:18px;word-break:break-all}.ccard-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.copy-btn{display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 16px;background:none;border:0;color:var(--tso-text2);font:500 14px/1 var(--font-text);cursor:pointer;transition:color var(--dur-micro)}.copy-btn:hover{color:var(--tso-ink)}.copy-node{width:10px;height:10px;border:1.5px solid currentColor;transition:background-color var(--dur-ui),transform var(--dur-ui) var(--ease-materialise)}.copy-btn.is-done{color:var(--tso-accent)}.copy-btn.is-done .copy-node{background:currentColor;transform:rotate(90deg)}.details{display:grid;grid-template-columns:1.2fr .8fr 1.4fr;gap:var(--gutter);margin-top:56px;padding-top:28px;border-top:1px solid var(--tso-rule)}.details dt{display:block;color:var(--tso-dim);margin-bottom:8px;font:400 13px/1 var(--font-mono)}.details dd,.details p,.details a{color:var(--tso-text)}.details a{text-decoration:underline;text-decoration-color:var(--tso-faint);text-underline-offset:4px}.details .mono{display:block;color:var(--tso-dim);margin-bottom:8px}.band{padding:80px 0;border-top:1px solid var(--tso-rule);background:var(--tso-panel)}.band-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}.band-copy{display:flex;align-items:center;gap:18px}.band-node{width:16px;height:16px;background:var(--tso-accent);flex-shrink:0}.band p{font:700 clamp(22px,2.2vw,30px)/1.2 var(--font-display);font-stretch:110%;color:var(--tso-ink);max-width:620px;letter-spacing:-.015em}.band .actions{margin-top:0}.site-footer{background:var(--footer-bg);color:var(--footer-text);padding:72px 0 0;--tso-accent-f: var(--tso-accent)}.footer-mark{padding-bottom:56px;border-bottom:1px solid var(--footer-rule);margin-bottom:48px}.footer-mark .logo{max-width:1240px}.fcols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px}.fcols p{color:var(--footer-text);max-width:340px;font-size:16px}.fhead{font:400 13px/1 var(--font-mono);color:var(--footer-text);margin-bottom:20px;letter-spacing:0;opacity:.85}.fcols li+li{margin-top:12px}.fcols a{color:var(--footer-ink);font-size:16px;font-weight:500;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:5px;transition:text-decoration-color var(--dur-ui)}.fcols a:hover{text-decoration-color:currentColor}.fcols .dom{display:block;margin-top:16px;color:var(--footer-text);font:400 13px/1 var(--font-mono)}.strip{border-top:1px solid var(--footer-rule)}.strip-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;padding-top:22px;padding-bottom:26px;font-size:14px;color:var(--footer-text)}.strip-studio-link{color:var(--footer-ink);font:500 13px/1 var(--font-mono);padding:8px 0}.strip-studio-link:hover{text-decoration:underline;text-underline-offset:4px}.site-footer :focus-visible{outline-color:var(--footer-ink)}.page-hero{padding:clamp(56px,7vw,112px) 0 clamp(56px,6vw,96px)}.page-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--gutter);align-items:end}.page-hero h1{max-width:12em;margin-bottom:28px}.page-hero .lead{max-width:36em}.page-hero-aside{min-width:0}.crumb{display:flex;align-items:center;gap:10px;margin:0 0 32px;font:400 13px/1 var(--font-mono);color:var(--tso-dim)}.crumb a{color:var(--tso-text2)}.crumb a:hover{color:var(--tso-ink);text-decoration:underline;text-underline-offset:4px}.crumb-line{width:32px;height:1px;background:var(--tso-faint)}.crumb-node{width:9px;height:9px;background:var(--tso-accent)}.crumb-node--open{background:none;border:1.5px solid var(--tso-accent)}.crumb span[aria-current]{color:var(--tso-ink)}.page-hero--company .page-hero-aside{container-type:inline-size}.page-hero--company .year-mark{display:block;text-align:right;font:800 27cqw/.8 var(--font-display);font-stretch:125%;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--tso-accent) 80%,transparent)}.page-hero--legal h1{font-size:clamp(40px,5vw,76px)}.stage-index{border:1px solid var(--tso-rule);background:var(--sheet-bg)}.stage-index-title{display:block;padding:14px 18px;border-bottom:1px solid var(--tso-rule);font:400 12px/1 var(--font-mono);color:var(--tso-dim)}.stage-index a{display:grid;grid-template-columns:34px 1fr;-moz-column-gap:12px;column-gap:12px;padding:14px 18px;border-bottom:1px solid var(--tso-rule);color:var(--tso-ink);transition:background-color var(--dur-micro)}.stage-index li:last-child a{border-bottom:0}.stage-index a:hover{background:var(--hover)}.si-num{font:400 12px/1.6 var(--font-mono);color:var(--tso-accent);grid-row:span 2}.si-name{font:700 17px/1.3 var(--font-display);font-stretch:108%}.si-end{font-size:14px;color:var(--tso-dim)}.how-page{padding-bottom:var(--section)}.stage-sections{display:grid;grid-template-columns:48px minmax(0,1fr)}.ss-rail{position:relative}.ss-rail-line{position:absolute;left:12px;top:0;bottom:0;width:2px;background:var(--tso-rule)}.ss-rail-fill{position:absolute;left:0;top:0;width:2px;background:var(--tso-accent);transition:height .9s var(--ease-materialise)}.ss{position:relative;padding:80px 0;border-top:1px solid var(--tso-rule);scroll-margin-top:72px}.ss:last-child{border-bottom:1px solid var(--tso-rule)}.ss .node{position:absolute;left:-42px;top:90px;width:15px;height:15px;background:var(--tso-canvas);border:1.5px solid var(--tso-faint);z-index:1;transition:background-color .4s var(--ease-out),border-color .4s var(--ease-out)}.ss.on .node{background:var(--tso-accent);border-color:var(--tso-accent)}.ss-top{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:var(--gutter);align-items:end;margin-bottom:48px}.ss-sheet{display:block;font:400 13px/1 var(--font-mono);color:var(--tso-dim);margin-bottom:18px}.ss h2{font-size:clamp(44px,6vw,92px);line-height:.95;letter-spacing:-.035em;font-stretch:118%;margin:0 0 18px}.ss:not(.on) h2{color:transparent;-webkit-text-stroke:1.25px var(--tso-text2)}.ss h2{transition:color .7s var(--ease-materialise)}.ss-tells{font:650 clamp(19px,1.7vw,24px)/1.3 var(--font-display);font-stretch:106%;color:var(--tso-text2)}.ss-glyph{border:1px dashed var(--tso-rule);padding:14px;background:var(--sheet-bg)}.ss-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.ss-k{display:block;color:var(--tso-dim);margin-bottom:12px;font:400 13px/1 var(--font-mono)}.ss-k--gate{margin-top:28px}.ss-end{font:650 21px/1.3 var(--font-display);font-stretch:106%;color:var(--tso-ink)}.ss-criteria li{position:relative;padding:8px 0 8px 22px;border-top:1px solid var(--tso-rule);color:var(--tso-text);font-size:15px}.ss-criteria li:before{content:"";position:absolute;left:0;top:15px;width:10px;height:10px;border:1.5px solid var(--tso-accent)}.ss.on .ss-criteria li:before{background:var(--tso-accent)}.ss-eg{font-size:15px;color:var(--tso-dim);border-left:1px dashed var(--tso-faint);padding-left:24px}.ss-eg .ss-k,.ss-eg .mono{color:var(--p-violet-text)}.sg{width:100%;height:auto;display:block;overflow:visible}.sg-frame{fill:none;stroke:var(--tso-accent);stroke-width:1.2}.sg-dash,.sg-win--draft .sg-frame,.sg-win--draft .sg-rule,.sg-win--draft .sg-key{stroke-dasharray:3 2.5}.sg-rule{fill:none;stroke:var(--tso-accent);stroke-width:1;opacity:.8}.sg-key{fill:none;stroke:var(--tso-accent);stroke-width:.9}.sg-dim{fill:none;stroke:var(--tso-faint);stroke-width:1}.sg-win--real .sg-frame{fill:var(--tso-ink);stroke:var(--tso-ink)}.sg-win--real .sg-rule{stroke:var(--tso-canvas);opacity:.5}.sg-win--real .sg-key{fill:var(--tso-canvas);stroke:none;opacity:.5}.sg-win--brand .sg-frame{fill:#1e1e28;stroke:#3a3a4a}.sg-win--brand .sg-rule{stroke:#3a3a4a;opacity:1}.sg-win--brand .sg-key{fill:#aeaaf7;stroke:none;opacity:.85}.sg-swatch--1{fill:#7163f1}.sg-swatch--2{fill:#aeaaf7}.whatis-text{font:500 clamp(22px,2.3vw,34px)/1.35 var(--font-display);font-stretch:104%;color:var(--tso-ink);letter-spacing:-.01em;max-width:34em}.details-title{margin-bottom:40px;font-size:clamp(28px,3vw,44px)}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--tso-rule);border:1.5px solid var(--tso-ink)}.details-grid>div{background:var(--tso-canvas);padding:22px 24px;min-width:0}.details-grid .mono,.dg-k{display:block;color:var(--tso-dim);margin-bottom:10px;font:400 12px/1 var(--font-mono)}.details-grid p,.details-grid a{font-size:16px;overflow-wrap:anywhere}.details-grid a{text-decoration:underline;text-decoration-color:var(--tso-faint);text-underline-offset:4px}.details-grid .full{grid-column:1 / -1}.legal-wrap{display:grid;grid-template-columns:260px minmax(0,720px);gap:72px;padding-bottom:var(--section)}.legal-index{position:sticky;top:96px;align-self:start}.legal-index-title{display:block;font:400 12px/1 var(--font-mono);color:var(--tso-dim);margin-bottom:14px}.legal-index li a{display:block;padding:8px 0 8px 14px;border-left:1px solid var(--tso-rule);color:var(--tso-text2);font-size:15px;transition:color var(--dur-micro),border-color var(--dur-micro)}.legal-index li a:hover{color:var(--tso-ink);border-left-color:var(--tso-accent)}.legal{max-width:720px}.legal section{padding:36px 0;border-top:1px solid var(--tso-rule);scroll-margin-top:80px}.legal section .mono,.legal-n{display:block;color:var(--tso-accent);margin-bottom:10px;font:400 12px/1 var(--font-mono)}.legal section h2,.legal section h3{margin-bottom:14px;font-size:clamp(21px,1.8vw,26px);font-weight:650;font-stretch:106%;letter-spacing:-.01em}.legal section p{color:var(--tso-text)}.legal section p+p{margin-top:12px}.legal a{text-decoration:underline;text-underline-offset:4px}.legal-foot{padding:40px 0 0;color:var(--tso-dim);font-size:14px;border-top:1px solid var(--tso-rule)}.nf h1{max-width:11em}.fallen{display:block;width:min(560px,100%);margin:48px 0 8px;overflow:visible}.fallen-track{stroke:var(--tso-rule);stroke-width:1.5}.fallen-node{fill:var(--tso-canvas);stroke:var(--tso-faint);stroke-width:1.5}.fallen-node.is-on{stroke:var(--tso-accent)}.fallen-stage{font:600 12px var(--font-display);fill:var(--tso-dim)}.fallen-stage.is-on{fill:var(--tso-ink)}.fallen-path{fill:none;stroke:var(--tso-accent);stroke-width:1.2;stroke-dasharray:3 4}.fallen-card{fill:none;stroke:var(--tso-accent);stroke-width:1.5;stroke-dasharray:5 4}.fallen-label{font:400 13px var(--font-mono);fill:var(--tso-dim)}.nf-line{margin:24px 0 8px;max-width:760px}.go-page{min-height:60vh}.go-panel{max-width:720px;margin:0 auto;border:1px solid var(--tso-rule);padding:44px;background:var(--tso-panel)}.go-panel.ul{background:var(--unolock-pitch);border-color:#34344a;border-radius:var(--radius-real);box-shadow:var(--shadow-real);color:#d6d6e0;--tso-ink: #F2F2F5;--tso-text: #D6D6E0;--tso-text2: #BDBDCB;--tso-dim: #9D9DB0;--tso-rule: #34344A;--tso-accent: #AEAAF7}.go-route{display:flex;align-items:center;gap:12px;margin-bottom:28px;font:500 13px/1 var(--font-mono);color:var(--tso-text2)}.go-wire{flex:1;height:0;border-top:1.5px dashed var(--tso-accent);position:relative}.go-wire:after{content:"";position:absolute;right:-2px;top:-6px;width:10px;height:10px;background:var(--tso-accent)}.go-to{color:var(--tso-ink)}.go-mode{display:block;font:400 13px/1 var(--font-mono);color:var(--tso-dim)}.go-panel h1{font-size:clamp(30px,3.6vw,48px);line-height:1.05;margin:14px 0 20px}.go-panel p{color:var(--tso-text)}.go-dest{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap;margin:28px 0 32px;padding:16px 0;border-top:1px solid var(--tso-rule);border-bottom:1px solid var(--tso-rule)}.go-dest-k{font:400 13px/1 var(--font-mono);color:var(--tso-dim)}.go-dest-v{font:500 16px/1 var(--font-mono);color:var(--tso-ink)}.signin{min-height:100vh;display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr)}.signin-col{width:100%;max-width:520px;padding:40px clamp(20px,5vw,64px) 56px;justify-self:start}.signin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:72px}.signin-col .logo-link{display:inline-block}.signin-kicker{display:inline-flex;align-items:center;gap:10px;font:500 14px/1 var(--font-mono);color:var(--tso-accent);margin-bottom:18px}.signin-kicker i{width:10px;height:10px;background:var(--tso-accent)}.signin-col h1{font-size:clamp(44px,5vw,72px);line-height:1;margin-bottom:16px}.form{display:flex;flex-direction:column;gap:22px;margin-top:36px}.alert{border-left:2px solid var(--warn);background:var(--tso-panel);padding:16px 20px;color:var(--tso-ink)}.alert .mono,.alert-k{display:block;color:var(--warn);margin-bottom:6px;font:500 12px/1 var(--font-mono)}.demo-panel{border:1px dashed var(--tso-faint);padding:22px;margin-top:36px;display:flex;flex-direction:column;gap:14px}.demo-k{font:500 13px/1 var(--font-mono);color:var(--tso-dim)}.demo-creds{display:grid;gap:6px}.demo-creds div{display:grid;grid-template-columns:88px 1fr;gap:12px}.demo-creds dt{color:var(--tso-dim);font-size:14px}.demo-creds dd{font:500 14px/1.5 var(--font-mono);color:var(--tso-ink);overflow-wrap:anywhere}.back-link{display:inline-block;margin-top:32px;color:var(--tso-text2);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--tso-faint)}.back-link:hover{color:var(--tso-ink)}.signin-sketch{position:relative;background:var(--tso-panel);border-left:1px solid var(--tso-rule);padding:56px clamp(32px,4vw,72px);display:flex;flex-direction:column;justify-content:center;gap:28px;overflow:hidden}.ss-cap{font:400 13px/1 var(--font-mono);color:var(--tso-dim)}.sk-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.sk-col{border:1px dashed var(--tso-rule);min-height:300px;padding:12px;display:flex;flex-direction:column;gap:10px}.sk-head{display:flex;align-items:center;gap:8px;font:600 13px/1.2 var(--font-display);font-stretch:106%;color:var(--tso-text2);padding-bottom:10px;border-bottom:1px solid var(--tso-rule)}.sk-head i{width:9px;height:9px;border:1.5px solid var(--tso-faint);flex-shrink:0}.sk-head i.on{background:var(--tso-accent);border-color:var(--tso-accent)}.sk-card{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--tso-canvas);border:1px solid var(--tso-rule);color:var(--tso-ink);font:600 14px/1.2 var(--font-text)}.sk-card.is-live{background:#1e1e28;border-color:#34344a;color:#f2f2f5;border-radius:6px}.sk-card em{font:400 11px/1 var(--font-mono);font-style:normal;color:var(--tso-dim)}.sk-card.is-live em{color:#aeaaf7}.sk-note{color:var(--tso-text2);max-width:32em}.field-wrap{display:flex;flex-direction:column;gap:8px}.field-label{color:var(--tso-text2);font:500 14px/1.2 var(--font-text);letter-spacing:0}.field{height:50px;width:100%;border:1px solid var(--tso-rule);background:var(--tso-raise);color:var(--tso-ink);padding:0 16px;border-radius:2px;font:400 16px/1.4 var(--font-text);transition:border-color var(--dur-micro),box-shadow var(--dur-micro)}.field:hover{border-color:var(--tso-faint)}textarea.field{height:auto;min-height:120px;padding:12px 16px;resize:vertical;line-height:1.5}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--tso-text2) 50%),linear-gradient(135deg,var(--tso-text2) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat}.field:focus{outline:none;border-color:var(--tso-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tso-accent) 22%,transparent)}.field:focus-visible{outline:none}.field[aria-invalid=true]{border-color:var(--warn)}.field:disabled{color:var(--tso-dim);background:var(--tso-panel)}.field::-moz-placeholder{color:var(--tso-dim)}.field::placeholder{color:var(--tso-dim)}.field-help{font-size:14px;color:var(--tso-dim)}.field-error{font-size:14px;color:var(--tso-ink);display:flex;gap:8px}.field-error:before{content:"";width:8px;height:8px;margin-top:7px;background:var(--warn);flex-shrink:0}.check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;color:var(--tso-text)}.check input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:1.5px solid var(--tso-faint);background:var(--tso-raise);margin:3px 0 0;flex-shrink:0;cursor:pointer;transition:background-color var(--dur-micro),border-color var(--dur-micro),box-shadow var(--dur-micro)}.check input:hover{border-color:var(--tso-accent)}.check input:checked{background:var(--tso-accent);border-color:var(--tso-accent);box-shadow:inset 0 0 0 3px var(--tso-raise)}.check input[type=radio]:checked{box-shadow:inset 0 0 0 4px var(--tso-raise)}.check input:disabled{opacity:.4;cursor:not-allowed}.switch{width:50px;height:26px;border:1px solid var(--tso-faint);background:var(--tso-raise);position:relative;cursor:pointer;flex-shrink:0;padding:0;border-radius:2px;transition:border-color var(--dur-ui),background-color var(--dur-ui)}.switch:after{content:"";position:absolute;top:4px;left:4px;width:16px;height:16px;border:1.5px solid var(--tso-faint);background:transparent;transition:transform var(--dur-ui) var(--ease-materialise),background-color var(--dur-ui),border-color var(--dur-ui)}.switch[aria-checked=true]{border-color:var(--tso-accent);background:color-mix(in srgb,var(--tso-accent) 14%,var(--tso-raise))}.switch[aria-checked=true]:after{transform:translate(24px);background:var(--tso-accent);border-color:var(--tso-accent)}.switch:disabled{opacity:.4;cursor:not-allowed}fieldset.fs{border:1px solid var(--tso-rule);padding:30px;margin:0 0 24px;display:flex;flex-direction:column;gap:20px;min-width:0;background:var(--tso-panel)}fieldset.fs legend{padding:0 8px;color:var(--tso-dim);font:500 13px/1 var(--font-mono)}.swatch{width:50px;height:50px;border:1px solid var(--tso-rule);flex-shrink:0}.state{border:1px dashed var(--tso-faint);padding:32px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.state .mono{color:var(--tso-dim)}.state[role=alert]{border-style:solid;border-color:var(--warn);border-left-width:3px}.state[role=alert] .mono{color:var(--warn)}.loading-bars{display:flex;flex-direction:column;gap:12px;width:100%}.loading-bars span{height:12px;background:var(--tso-rule);transform-origin:0 50%;animation:sk-pulse 1.4s var(--ease-inout) infinite alternate}.loading-bars span:nth-child(2){animation-delay:.12s}.loading-bars span:nth-child(3){animation-delay:.24s}@keyframes sk-pulse{0%{opacity:.35}to{opacity:.8}}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);background:color-mix(in srgb,var(--night-950) 82%,transparent);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;animation:overlay-in var(--dur-ui) var(--ease-out) both}.dialog{background:var(--tso-canvas);border:1px solid var(--tso-rule);width:100%;max-width:680px;max-height:calc(100vh - 32px);overflow-y:auto;box-shadow:0 40px 90px -40px #000000b3;animation:dialog-in .38s var(--ease-out) both}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px;border-bottom:1px solid var(--tso-rule);position:sticky;top:0;background:var(--tso-canvas);z-index:1}.dialog-title{font:700 22px/1.2 var(--font-display);font-stretch:108%;letter-spacing:-.01em}.dialog-body{padding:24px;display:flex;flex-direction:column;gap:20px}@media (max-width: 767px){.dialog-backdrop{padding:0;align-items:stretch}.dialog{max-width:none;max-height:none;min-height:100%;border:0}}.toast-slot{display:flex;flex-direction:column}.toast{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 32px;border-bottom:1px solid var(--tso-rule);background:var(--tso-ink);color:var(--on-ink);font-size:15px;font-weight:500;animation:toast-in var(--dur-ui) var(--ease-out) both}.toast:before{content:"";width:9px;height:9px;background:var(--tso-accent);flex-shrink:0;margin-right:-4px}.toast>span{flex:1}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.toast.error:before{background:var(--warn)}.toast button{background:none;border:0;color:inherit;opacity:.75;cursor:pointer;padding:6px;font:500 13px/1 var(--font-mono)}.toast button:hover{opacity:1}.fade-up{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.fade-up.is-visible{opacity:1;transform:none}.studio{min-height:100vh}.studio-header{position:sticky;top:0;z-index:var(--z-header);background:var(--tso-canvas);border-bottom:1px solid var(--tso-rule)}.studio-header-inner{display:flex;align-items:center;gap:16px;height:64px;padding:0 28px}.studio-header .grow{flex:1}.studio-header .mono.dim{padding-left:16px;border-left:1px solid var(--tso-rule);font-size:13px}.studio-burger{display:none}.studio-body{display:flex}.studio-side{width:248px;flex-shrink:0;border-right:1px solid var(--tso-rule);min-height:calc(100vh - 64px);padding:28px 0;display:flex;flex-direction:column;background:var(--tso-panel);position:sticky;top:64px;height:calc(100vh - 64px)}.studio-main{flex:1;min-width:0;padding:40px 40px 72px}.studio-content{max-width:1200px;margin:0 auto}.snav a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 24px;color:var(--tso-text2);font:500 15px/1.2 var(--font-text);letter-spacing:0;transition:color var(--dur-micro),background-color var(--dur-micro)}.snav a:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:var(--tso-accent);transform:scaleY(0);transition:transform var(--dur-ui) var(--ease-materialise)}.snav a:hover,.snav a.active{color:var(--tso-ink);background:var(--hover)}.snav a.active:before{transform:scaleY(1)}.snav .count{font:600 12px/1 var(--font-mono);color:var(--on-ink);background:var(--tso-accent);padding:3px 7px;letter-spacing:0}.side-foot{margin-top:auto;padding:24px;display:flex;flex-direction:column;gap:14px}.side-foot img{height:26px;width:26px}.side-foot a{color:var(--tso-text2);font:500 14px/1 var(--font-text)}.side-foot a:hover{color:var(--tso-ink)}.studio-tools{display:flex;align-items:center;gap:10px}.account-btn{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 14px;border:1px solid var(--tso-rule);background:none;color:var(--tso-text2);cursor:pointer;font-size:14px;border-radius:2px;transition:color var(--dur-micro),border-color var(--dur-micro)}.account-btn:hover{color:var(--tso-ink);border-color:var(--tso-faint)}.account-panel{position:fixed;z-index:var(--z-menu);background:var(--tso-panel);border:1px solid var(--tso-rule);width:290px;padding:20px;display:flex;flex-direction:column;gap:16px;box-shadow:0 30px 60px -30px #0009;animation:dialog-in var(--dur-ui) var(--ease-out) both}.account-panel .email{color:var(--tso-ink);word-break:break-all}.account-panel a{color:var(--tso-text2)}.account-panel a:hover{color:var(--tso-ink)}.demo-pill{display:inline-flex;align-items:center;gap:8px;color:var(--tso-text2);border:1px dashed var(--tso-faint);padding:7px 11px;font-size:12px}.demo-pill:before{content:"";width:7px;height:7px;border:1.5px solid var(--tso-accent)}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px;padding-bottom:28px;border-bottom:1px solid var(--tso-rule)}.page-head h1{font-size:clamp(36px,4vw,56px);line-height:1;margin-bottom:14px;font-stretch:114%}.page-head .lead{font-size:17px;max-width:680px;color:var(--tso-text2)}.page-head .eyebrow{margin-bottom:12px}.panel{border:1px solid var(--tso-rule);padding:26px;background:var(--tso-panel)}.panel h2{font:700 20px/1.25 var(--font-display);font-stretch:108%;letter-spacing:-.01em;margin-bottom:14px}.panel .mono{color:var(--tso-dim)}.panel>a.mono,.panels a.mono{color:var(--tso-accent);font-size:14px}.panel>a.mono:hover,.panels a.mono:hover{text-decoration:underline;text-underline-offset:4px}.panels{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px}.stat-grid{grid-template-columns:repeat(4,1fr);margin-top:20px}.stat-grid>*{background:var(--tso-panel)}.stat{padding:24px 26px}.stat .num{font:800 48px/1 var(--font-display);font-stretch:116%;color:var(--tso-ink);display:block;margin-top:16px;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.snapshot{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:32px}.snapshot .colh{color:var(--tso-dim);margin-bottom:12px;display:block;font-size:12px}.chip{display:flex;flex-direction:column;gap:10px;border:1px solid var(--tso-rule);padding:14px;color:var(--tso-ink);margin-bottom:8px;font-size:15px;font-weight:500;background:var(--tso-canvas);transition:border-color var(--dur-micro),transform var(--dur-micro) var(--ease-out)}.chip:hover{border-color:var(--tso-accent);transform:translateY(-2px)}.chip .tags{display:flex;gap:6px;flex-wrap:wrap}.activity li{display:flex;gap:16px;padding:11px 0;border-top:1px solid var(--tso-rule);font-size:15px}.activity .mono{color:var(--tso-dim);flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:400}.banner{position:relative;border:1px dashed var(--tso-faint);padding:16px 20px 16px 44px;margin-bottom:32px;background:var(--tso-panel)}.banner:before{content:"";position:absolute;left:20px;top:21px;width:10px;height:10px;border:1.5px solid var(--tso-accent)}.banner .mono{display:block;color:var(--tso-ink);margin-bottom:6px}.banner p{color:var(--tso-text2);font-size:15px}.table-wrap{overflow-x:auto;border:1px solid var(--tso-rule);background:var(--tso-panel)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font:500 12px/1 var(--font-mono);color:var(--tso-dim);padding:15px 16px;border-bottom:1.5px solid var(--tso-rule);letter-spacing:0;text-transform:none}.table td{padding:16px;border-bottom:1px solid var(--tso-rule);vertical-align:top}.table tbody tr{transition:background-color var(--dur-micro)}.table tbody tr:hover{background:var(--hover)}.table tr:last-child td{border-bottom:0}.table a.mono{color:var(--tso-accent);font-size:14px}.row-actions{display:flex;gap:8px;align-items:center}.mcards{display:none;flex-direction:column;gap:14px}.mcard{border:1px solid var(--tso-rule);padding:20px;display:flex;flex-direction:column;gap:14px;background:var(--tso-panel)}.mcard a.mono{color:var(--tso-accent)}.rule-list li{display:flex;gap:10px;padding:6px 0;font-size:15px}.rule-list .ok{color:var(--tso-accent);font-family:var(--font-mono)}.rule-list .no{color:var(--warn);font-family:var(--font-mono)}.rule-list li.fail{color:var(--tso-ink)}.rule-list li.pass{color:var(--tso-text2)}.edit-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:32px;align-items:start}.edit-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:24px}.tabs{display:flex;border-bottom:1px solid var(--tso-rule);margin-bottom:16px}.tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--tso-dim);padding:12px 16px;cursor:pointer;margin-bottom:-1px;font-size:13px;transition:color var(--dur-micro),border-color var(--dur-ui)}.tabs button:hover{color:var(--tso-ink)}.tabs button[aria-selected=true]{color:var(--tso-ink);border-bottom-color:var(--tso-accent)}.preview{pointer-events:none}.preview .card,.preview .block{padding:24px}.preview .card:hover{transform:none}.preview .block-grid{grid-template-columns:1fr;gap:24px}.preview .grid2--single .card{display:flex}.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.row3{display:grid;grid-template-columns:1fr 1fr 160px auto;gap:12px;align-items:end}.board{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:14px;overflow-x:auto;padding-bottom:8px}.bcol{border:1px dashed var(--tso-rule);padding:16px;min-height:280px;background:color-mix(in srgb,var(--tso-panel) 50%,transparent)}.bcol-head{padding-bottom:14px;border-bottom:1px solid var(--tso-rule);margin-bottom:16px}.bcol-head .mono{color:var(--tso-ink);display:block;margin-bottom:8px;font-weight:500}.bcol-head p{color:var(--tso-dim);font-size:14px}.bcard{border:1px solid var(--tso-rule);padding:14px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px;background:var(--tso-raise);border-radius:6px;box-shadow:0 16px 30px -24px #000000b3;transition:transform var(--dur-micro) var(--ease-out)}.bcard:hover{transform:translateY(-2px)}.bcard .label{color:var(--tso-ink);font:650 16px/1.25 var(--font-display);font-stretch:106%}.gate-hist li{padding:12px 0;border-top:1px solid var(--tso-rule);font-size:14px;color:var(--tso-text2)}.gate-hist .mono{color:var(--tso-dim);display:block;margin-bottom:4px;font-weight:400}.warn-line{color:var(--tso-ink);font-size:14px;border-left:2px solid var(--warn);padding-left:12px}.dec-row{border-top:1px solid var(--tso-rule);padding:26px 0;display:grid;grid-template-columns:64px 1fr 1fr;gap:24px}.dec-row .id{color:var(--tso-accent);font:700 20px/1 var(--font-display);font-stretch:112%}.dec-row .q{color:var(--tso-ink);margin-bottom:8px;font-weight:500}.dec-row .def{color:var(--tso-dim);font-size:15px}.dec-cur{display:flex;flex-direction:column;gap:12px}.toggle-row{display:flex;align-items:center;gap:12px;color:var(--tso-text)}.oi{border-top:1px solid var(--tso-rule);padding:22px 0;display:flex;flex-direction:column;gap:10px}.oi-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.oi-head h3{font-size:19px}.oi-head a.mono{color:var(--tso-accent)}.outbox{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:24px}.ob-list{border:1px solid var(--tso-rule);background:var(--tso-panel)}.ob-row{display:flex;gap:12px;padding:16px;border-bottom:1px solid var(--tso-rule);color:var(--tso-text);transition:background-color var(--dur-micro)}.ob-row:hover{background:var(--hover)}.ob-row:last-child{border-bottom:0}.ob-row.active{background:var(--tso-raise);box-shadow:inset 2px 0 0 var(--tso-accent)}.ob-row .dot{width:8px;height:8px;margin-top:8px;flex-shrink:0;border:1.5px solid var(--tso-faint)}.ob-row .dot.unread{background:var(--tso-accent);border-color:var(--tso-accent)}.ob-row .subj{color:var(--tso-ink);display:block;font-weight:500}.ob-row .meta{color:var(--tso-dim);font-size:13px;display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;align-items:center}.ob-detail{border:1px solid var(--tso-rule);padding:26px;background:var(--tso-panel)}.ob-detail dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px 16px;margin-bottom:24px;font-size:15px}.ob-detail dd{min-width:0;overflow-wrap:anywhere}.ob-detail dt{font:400 12px/1 var(--font-mono);color:var(--tso-dim);padding-top:4px;letter-spacing:0;text-transform:none}.ob-detail pre{white-space:pre-wrap;font-family:var(--font-text);color:var(--tso-text);border-top:1px solid var(--tso-rule);padding-top:24px;margin:0 0 24px}.ob-back{display:none;margin-bottom:16px}.note{color:var(--tso-dim);margin-top:24px}details.panel summary{list-style:none}details.panel summary::-webkit-details-marker{display:none}details.panel summary:before{content:"";display:inline-block;width:9px;height:9px;border:1.5px solid var(--tso-accent);margin-right:10px;vertical-align:1px;transition:background-color var(--dur-ui)}details.panel[open] summary:before{background:var(--tso-accent)}@media (max-width: 1079px){.page-hero-grid{grid-template-columns:1fr;align-items:start}.legend-card{margin-left:0}.page-hero--company .year-mark{text-align:left}}@media (max-width: 1023px){.stage{grid-template-columns:13px 190px minmax(0,1fr);row-gap:20px}.stage__eg{grid-column:3}.tiles,.facts{grid-template-columns:repeat(2,1fr)}.fcols{grid-template-columns:1fr 1fr}.studio-side{display:none}.studio-burger{display:inline-flex}.edit-grid{grid-template-columns:1fr}.edit-side{position:static}.outbox{grid-template-columns:1fr}.outbox.has-detail .ob-list{display:none}.outbox:not(.has-detail) .ob-detail-col{display:none}.ob-back{display:inline-flex}.stat-grid{grid-template-columns:repeat(2,1fr)}.snapshot,.company-grid{grid-template-columns:1fr}.legal-wrap{grid-template-columns:1fr;gap:32px}.legal-index{position:static}.legal-index ol{display:flex;flex-wrap:wrap;gap:4px 18px}.legal-index li a{border-left:0;padding:6px 0}.details-grid{grid-template-columns:1fr 1fr}.signin{grid-template-columns:1fr}.signin-col{max-width:560px;justify-self:center}.signin-sketch{border-left:0;border-top:1px solid var(--tso-rule)}.ss-top{grid-template-columns:minmax(0,1fr) 180px}.grid2--single .card{grid-template-columns:1fr;gap:28px}}@media (max-width: 899px){.cards3,.cards4,.grid2,.cols3{grid-template-columns:1fr}.details{grid-template-columns:1fr;gap:24px}.block-grid{grid-template-columns:1fr;gap:36px}.ss-grid{grid-template-columns:1fr;gap:28px}.panels{grid-template-columns:1fr}.dec-row{grid-template-columns:1fr;gap:12px}.how-head,.contact-head{grid-template-columns:1fr;gap:20px}.sk-board{grid-template-columns:repeat(5,minmax(120px,1fr));overflow-x:auto}}@media (max-width: 767px){.section{scroll-margin-top:64px}.header-inner,.is-condensed .header-inner{height:64px}.stage{grid-template-columns:13px minmax(0,1fr);-moz-column-gap:22px;column-gap:22px;padding:32px 0}.stage__what,.stage__eg{grid-column:2}.col,.tile,.card,.ccard,.block,.go-panel{padding:24px}.card .one,.block .one{font-size:24px}.tiles,.fcols{grid-template-columns:1fr}.fcols{gap:32px}.facts{grid-template-columns:1fr 1fr}.fact{padding:20px 16px}.strip-inner{flex-direction:column;align-items:flex-start;gap:8px}.details-grid{grid-template-columns:1fr}.stage-sections{grid-template-columns:28px minmax(0,1fr)}.ss{padding:56px 0}.ss-rail-line{left:6px}.ss .node{left:-28px;top:64px}.ss-top{grid-template-columns:1fr}.ss-glyph{max-width:220px}.go-panel h1,.signin-col h1,.page-head h1{font-size:clamp(32px,9vw,44px)}.studio-header-inner{padding:0 16px;gap:10px}.studio-header .mono.dim{display:none}.studio-main{padding:24px 16px 56px}.account-email{display:none}.account-btn{width:44px;padding:0;justify-content:center}.demo-pill{display:none}.toast{padding:12px 16px}.table-desktop{display:none}.mcards{display:flex}.row2,.row3{grid-template-columns:1fr}fieldset.fs{padding:20px}.stat-grid{grid-template-columns:1fr 1fr}.stat .num{font-size:40px}.band{padding:56px 0}.revlog-row{grid-template-columns:64px minmax(0,1fr);gap:6px 16px}.revlog-rev{grid-row:span 2;padding-top:6px}.revlog-what{grid-column:2}.versions li{grid-template-columns:1fr;gap:4px}.signin-top{margin-bottom:48px}.sk-col{min-height:200px}.footer-mark{padding-bottom:40px;margin-bottom:36px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.fade-up{opacity:1;transform:none}}.stage__glyph{display:block;width:104px;margin-top:18px;opacity:.55;transition:opacity var(--dur-enter) var(--ease-out)}.stage.on .stage__glyph{opacity:1}@media (max-width: 767px){.stage__glyph{width:88px}}.lab-next{margin-top:24px;padding-top:18px;border-top:1px dashed var(--tso-rule)}.lab-next-k{display:block;font:400 13px/1 var(--font-mono);color:var(--tso-dim);margin-bottom:10px}.lab-next li{position:relative;padding:7px 0 7px 22px;color:var(--tso-text);font-size:15px}.lab-next li:before{content:"";position:absolute;left:0;top:13px;width:10px;height:10px;border:1.5px dashed var(--tso-accent)}.lab-end{margin-top:18px;font:400 14px/1.5 var(--font-mono);color:var(--tso-dim)}html[data-theme=dark]{--mat-fine: rgba(123, 200, 246, .045);--mat-major: rgba(123, 200, 246, .09)}html[data-theme=light]{--mat-fine: rgba(0, 87, 127, .05);--mat-major: rgba(0, 87, 127, .1)}body{background-image:linear-gradient(var(--mat-major) 1px,transparent 1px),linear-gradient(90deg,var(--mat-major) 1px,transparent 1px),linear-gradient(var(--mat-fine) 1px,transparent 1px),linear-gradient(90deg,var(--mat-fine) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-position:-1px -1px}.laptop__screen--real{display:block;background:#1e1e28}.laptop__screen--real img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top left;object-position:top left}
