:root{color:#27333b;font-synthesis:none;background:#edf0f1;font-family:Inter,Arial,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #1681ac}button[hidden],[hidden]{display:none!important}.header{background:#f8f9f9;border-bottom:1px solid #d0d8dc;justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex}.brand{color:inherit;align-items:center;gap:12px;font-size:20px;font-weight:700;text-decoration:none;display:flex}.brand-mark{font-size:26px}.sub-brand{color:#657781;font-size:14px;font-weight:400}.badge{text-transform:uppercase;letter-spacing:.08em;border:1px solid #cbd6db;border-radius:4px;padding:7px 11px;font-size:11px}.workspace{grid-template-columns:minmax(0,1fr) 340px;height:calc(100dvh - 104px);min-height:440px;display:grid}#viewport{isolation:isolate;min-width:0;position:relative;overflow:hidden}canvas{touch-action:none;display:block;position:absolute;inset:0}.scene-heading{pointer-events:none;z-index:2;position:absolute;top:28px;left:32px;right:24px}.eyebrow{letter-spacing:.14em;color:#617784;font-size:10px;font-weight:700}h1{letter-spacing:-.035em;margin:8px 0;font-size:clamp(22px,2.4vw,34px);font-weight:550}h2{letter-spacing:-.025em;margin:12px 0;font-size:22px;font-weight:550}h3{margin:12px 0;font-size:20px;font-weight:550}.scene-heading p{color:#5c707b;max-width:450px;margin:8px 0;font-size:13px;line-height:1.5}#panel{background:#fafbfb;border-left:1px solid #cbd4d9;padding:26px 22px;overflow:auto}.muted{color:#687c87;font-size:12px;line-height:1.65}.workshop-list{margin-top:25px}.workshop-button{text-align:left;background:0 0;border:0;border-top:1px solid #dce3e6;align-items:center;gap:12px;width:100%;padding:14px 0;font-size:13px;display:flex}.workshop-button:last-child{border-bottom:1px solid #dce3e6}.workshop-button:hover{color:#137898;background:#eef3f5}.number{color:#7c8e98;font-variant-numeric:tabular-nums;min-width:22px;font-size:11px}.arrow{margin-left:auto}.toolbar{z-index:5;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:6px;display:flex;position:absolute;bottom:45px;left:24px;right:24px}.toolbar button{pointer-events:auto;background:#fbfcfcee;border:1px solid #c4d0d6;border-radius:5px;padding:10px 14px;font-size:12px;box-shadow:0 3px 12px #263a4410}.toolbar button:hover{background:#fff;border-color:#7392a2}.gesture-hint{text-align:center;letter-spacing:.02em;color:#536b78;pointer-events:none;font-size:10px;position:absolute;bottom:10px;left:12px;right:12px}.part-list{margin:24px 0;padding:0;list-style:none}.part-list li{margin-bottom:6px}.part-list button{text-align:left;background:#f1f4f5;border:1px solid #d7e0e4;border-radius:5px;align-items:center;gap:10px;width:100%;padding:12px;font-size:12px;display:flex}.part-list button.active{color:#0f5c78;background:#e4eff3;border-color:#397d97}.part-list button:hover:not(:disabled){border-color:#82a7b7}.roof-note{color:#61757e;background:#edf1f3;padding:12px;font-size:12px}#part-card{border-top:1px solid #d7e0e4;padding-top:24px}#part-card p{font-size:13px;line-height:1.65}dl{margin:22px 0}dt{text-transform:uppercase;color:#778a94;letter-spacing:.07em;margin-top:18px;font-size:10px}dd{margin:6px 0;font-size:12px;line-height:1.55}.empty-card{color:#788b96;text-align:center;padding:25px 10px}.empty-card>span{font-size:32px}.step-controls{justify-content:space-between;gap:8px;display:flex}.step-controls button{background:#fff;border:1px solid #d2dce1;border-radius:4px;padding:8px 12px;font-size:12px}footer{color:#758690;border-top:1px solid #cbd4d9;justify-content:space-between;align-items:center;height:36px;padding:0 22px;font-size:10px;display:flex}#labels{pointer-events:none;z-index:4;position:absolute;inset:0}.marker-leaders{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.marker-leaders line{stroke:#375666;stroke-width:1.5px;stroke-linecap:round;opacity:.85}.marker{pointer-events:auto;color:#375666;background:#fff;border:1px solid #6f8c9a;border-radius:50%;width:30px;height:30px;font-size:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 8px #263a4420}.marker.active,.marker:hover{color:#fff;background:#196f8d;border-color:#196f8d}#loading{z-index:10;text-align:center;background:#f8fafb;border:1px solid #c8d4dc;border-radius:6px;max-width:85%;padding:18px 24px;line-height:1.6;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#loading.error{color:#734b37;border-color:#b17b61}details{border-bottom:1px solid #d7e0e4;padding:12px 0}summary{cursor:pointer}details p{font-size:13px;line-height:1.6}@media (width<=760px){.header{height:56px;padding:0 16px}.sub-brand,.badge{display:none}.workspace{flex-direction:column;height:auto;min-height:0;display:flex}#viewport{height:57dvh;min-height:400px}#panel{border-top:1px solid #cbd4d9;border-left:0;max-height:none;padding:24px 20px}.scene-heading{top:18px;left:20px}.scene-heading p{max-width:280px;font-size:11px}h1{font-size:23px}.toolbar{gap:4px;bottom:35px;left:10px;right:10px}.toolbar button{padding:8px 10px;font-size:11px}.gesture-hint{font-size:9px;bottom:7px}.marker{width:29px;height:29px}footer{flex-wrap:wrap;gap:10px;height:auto;min-height:40px;padding:10px 16px}#status{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}#transfer-note{z-index:5;color:#645d4e;pointer-events:none;background:#f8f4e9e8;border-left:2px solid #a88d5c;max-width:360px;padding:10px 12px;font-size:11px;line-height:1.5;position:absolute;top:130px;left:32px}#transfers[aria-pressed=true]{background:#e4e8d8;border-color:#6e785e}@media (width<=760px){#transfer-note{max-width:none;font-size:10px;top:120px;left:18px;right:18px}.toolbar{bottom:40px}}.demo-launch{border-bottom:1px solid #d2d9d5;gap:8px;padding:16px 0;display:grid}.demo-launch label{color:#65746b;font-size:11px}.demo-launch button{text-align:left;background:#f2f4ed;border:1px solid #adb8a9;border-radius:4px;padding:11px 12px;font-size:12px}.demo-launch .primary{color:#fff;background:#69795f;border-color:#69795f}select{color:#344146;width:100%;font:inherit;background:#fff;border:1px solid #bcc8ca;border-radius:4px;padding:9px 8px;font-size:12px}.sr-label{clip-path:inset(50%);width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.script-steps{max-height:260px;margin:18px 0;padding:0;list-style:none;overflow:auto}.script-steps button{text-align:left;background:0 0;border:1px solid #0000;border-radius:4px;gap:9px;width:100%;padding:9px 10px;font-size:12px;display:flex}.script-steps button.active{background:#e5ebdf;border-color:#7c8b70}.step-explanation{border-top:1px solid #d4dacf;padding-top:20px}.step-explanation p{font-size:13px;line-height:1.65}.outcome{background:#e6eced;border-left:3px solid #7998a2;padding:9px 12px}.outcome[data-outcome=finding],.outcome[data-outcome=confirmed]{background:#f3ead5;border-color:#b89144}.outcome[data-outcome=accepted]{background:#e4ebda;border-color:#778951}.outcome[data-outcome=merged]{background:#e3e9f1;border-color:#56739a}.outcome[data-outcome=deployed]{background:#dcece4;border-color:#3f8a64}.outcome[data-outcome=halt]{color:#6e1d12;background:#f6dcd6;border-color:#c23a26;font-weight:600}#playback-controls{z-index:7;background:#fafcf8f2;border:1px solid #c1cabd;border-radius:6px;padding:12px;position:absolute;bottom:91px;left:22px;right:22px;box-shadow:0 4px 18px #243b3218}.playback-timeline{color:#60705e;font-variant-numeric:tabular-nums;align-items:center;gap:12px;font-size:11px;display:flex}.playback-timeline input{accent-color:#758a65;flex:1;min-width:0}.playback-buttons{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.playback-buttons button{background:#fff;border:1px solid #c8d1c4;border-radius:4px;padding:8px 10px;font-size:11px}.playback-buttons #show-play{color:#fff;background:#687b5e;min-width:100px}#show-step{min-width:40px}@media (width<=760px){#playback-controls{padding:8px;bottom:78px;left:10px;right:10px}.playback-buttons{gap:4px}.playback-buttons button{padding:7px 8px;font-size:10px}.script-steps{max-height:220px}.scene-heading h1{font-size:21px}.scene-heading p{max-width:310px}}#viewport[data-scenario]:not([data-scenario=""]) .scene-heading{background:#f7f7f0ed;border-radius:5px;max-width:460px;padding:12px 14px;top:16px;left:20px;right:20px}@media (width<=760px){#viewport[data-scenario]:not([data-scenario=""]){height:75dvh;min-height:560px}#viewport[data-scenario]:not([data-scenario=""]) .scene-heading{padding:10px 12px;top:12px;left:12px;right:12px}}#asset-note{z-index:8;color:#73542d;background:#fff2da;border:1px solid #c5a467;padding:10px;font-size:12px;position:absolute;bottom:95px;left:20px;right:20px}#environment-note{z-index:8;color:#73542d;background:#fff2da;border:1px solid #c5a467;padding:10px;font-size:12px;position:absolute;bottom:145px;left:20px;right:20px}#workshop-note{z-index:8;color:#73542d;background:#fff2da;border:1px solid #c5a467;padding:10px;font-size:12px;position:absolute;bottom:195px;left:20px;right:20px}#open-card,.return-scene{display:none}#show-outcome{background:#e6eced;border-left:3px solid #7998a2;margin:0 0 8px;padding:6px 10px;font-size:12px;line-height:1.3}#show-outcome[data-outcome=finding],#show-outcome[data-outcome=confirmed]{background:#f3ead5;border-color:#b89144}#show-outcome[data-outcome=accepted]{background:#e4ebda;border-color:#778951}#show-outcome[data-outcome=merged]{background:#e3e9f1;border-color:#56739a}#show-outcome[data-outcome=deployed]{background:#dcece4;border-color:#3f8a64}#show-outcome[data-outcome=halt]{color:#6e1d12;background:#f6dcd6;border-color:#c23a26;font-weight:600}@media (width<=760px){#open-card:not([hidden]),.return-scene{display:inline-block}#show-outcome{margin:0 0 6px;padding:5px 8px;font-size:11px}.return-scene{background:#fff;border:1px solid #c4d0d6;border-radius:4px;padding:8px 10px;font-size:12px}#part-card-heading{scroll-margin-top:16px}}.explanation-slot{min-width:0;display:grid}.explanation-slot>.step-explanation{grid-area:1/1;min-width:0}.explanation-sizer{visibility:hidden}.function-line{color:#3f5c6b;letter-spacing:.01em;margin:-6px 0 10px;font-size:12px;font-weight:600;line-height:1.45}.scene-heading .function-line{color:#3f5c6b;max-width:450px;margin:-2px 0 6px;font-size:13px}.workshop-name{flex-direction:column;gap:3px;display:flex}.workshop-name small{color:#6b7f89;font-size:11px;line-height:1.35}@media (width<=760px){.scene-heading .function-line{max-width:300px;font-size:11px}}#part-card dd.example{color:#4a6270;border-left:3px solid #9fb6a0;padding-left:10px}nav.crumbs{color:#27333b;flex-wrap:wrap;align-items:center;gap:2px 6px;margin:0 0 10px;font-size:11px;line-height:1.4;display:flex}nav.crumbs>*+:before{content:"›";color:#5c707b;margin-right:6px}.crumbs button{font:inherit;color:#1d6f8c;cursor:pointer;background:0 0;border:0;padding:0}.crumbs button:hover{text-decoration:underline}.crumbs [aria-current=page]{color:#27333b;font-weight:600}.show-bar{z-index:2;background:#fafbfb;border-bottom:1px solid #d7e0e4;gap:8px;margin-bottom:12px;padding:8px 0;display:flex;position:sticky;top:-26px}.show-exit{color:#27333b;cursor:pointer;background:#f1f4f5;border:1px solid #d7e0e4;border-radius:5px;flex:1;padding:8px 12px;font-size:13px}.show-toggle{color:#27333b;cursor:pointer;background:#f1f4f5;border:1px solid #d7e0e4;border-radius:5px;padding:8px 12px;font-size:12px}.show-where{color:#3f5c6b;margin:0 0 10px;font-size:12px;font-weight:600;line-height:1.45}.workshop-nav{justify-content:space-between;gap:8px;margin:0 0 12px;display:flex}.workshop-nav button{white-space:nowrap;text-overflow:ellipsis;background:#fff;border:1px solid #d2dce1;border-radius:4px;max-width:48%;padding:8px 12px;font-size:12px;overflow:hidden}.part-close{float:right;color:#5c707b;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.part-close:hover{text-decoration:underline}.show-finished{background:#eef3ee;border-left:3px solid #778951;margin:0 0 12px;padding:12px}.show-finished button{width:100%;margin-top:6px;display:block}.resume-show{color:#1d6f8c;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:12px;text-decoration:underline}#viewport:not([data-scenario]) .scene-heading,#viewport[data-scenario=""] .scene-heading{background:#f6f5f0e6;border-radius:4px;max-width:480px;padding:12px 14px;right:auto}.brand:hover .brand-mark{color:#1d6f8c}@media (width<=760px){.show-bar{position:static}#viewport:not([data-scenario]) .scene-heading,#viewport[data-scenario=""] .scene-heading{max-width:none;top:12px;left:12px;right:12px}}@media (width<=379px){.workshop-nav{flex-direction:column}.workshop-nav button{max-width:none}}.panel-summary{display:none}#viewport[data-scenario]:not([data-scenario=""]) .gesture-hint{background:#f7f7f0d9;border-radius:4px;width:max-content;max-width:calc(100% - 24px);margin:0;padding:3px 8px;left:50%;right:auto;transform:translate(-50%)}@media (width<=760px){.panel-summary{display:block}.panel-generic,#viewport:not([data-scenario])[data-workshop]:not([data-workshop=""]) .scene-heading :is(.eyebrow,#scene-subtitle),#viewport[data-scenario=""][data-workshop]:not([data-workshop=""]) .scene-heading :is(.eyebrow,#scene-subtitle){display:none}}dd ul.checks{margin:0;padding-left:18px}dd ul.checks li+li{margin-top:4px}#node-root,#scheme-root{z-index:6;pointer-events:none;position:absolute;inset:0}.node-card{pointer-events:auto;color:#27333b;background:#fafbfb;border:1px solid #d7e0e4;border-radius:5px;flex-direction:column;animation:.18s ease-out both node-card-in;display:flex;position:absolute;top:0;left:0;overflow:clip;box-shadow:0 6px 24px #263a441c}.node-card[data-side=left]{--node-in-x:-12px}.node-card[data-side=right]{--node-in-x:12px}.node-card[data-mode=sheet]{--node-in-y:16px;box-shadow:0 -4px 22px #263a4420}@keyframes node-card-in{0%{opacity:0;transform:translate(var(--node-in-x,0),var(--node-in-y,0))}}.node-card-head{border-bottom:1px solid #d7e0e4;flex:none;align-items:center;min-height:47px;padding:10px 106px 8px 16px;display:flex}.node-card-close{background:#fbfcfc;border:1px solid #c4d0d6;border-radius:5px;padding:6px 10px;font-size:12px;position:absolute;top:10px;right:12px}.node-card-close:hover{background:#fff;border-color:#7392a2}.node-card-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:4px 16px 16px;overflow:auto}.node-card-content{display:flow-root}.node-card h2{margin:10px 0 4px;font-size:20px}.node-card h2:focus,.node-card h2:focus-visible{outline:none}.node-card .function-line{margin:0 0 6px}.node-card h3{text-transform:uppercase;letter-spacing:.07em;color:#617784;margin:16px 0 6px;font-size:10px;font-weight:700}.node-card p{margin:0;font-size:13px;line-height:1.55}.node-card ul{margin:0;padding-left:18px;font-size:12px;line-height:1.55}.node-card li+li{margin-top:3px}.node-card .node-pending{margin-top:10px}.node-card .node-example{color:#4a6270;border-left:3px solid #9fb6a0;padding-left:10px}.node-card ul.node-links{gap:6px;padding:0;list-style:none;display:grid}.node-card ul.node-links li+li{margin-top:0}.node-links button{text-align:left;background:#f1f4f5;border:1px solid #d7e0e4;border-radius:5px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;font-size:12px;display:flex}.node-links button:hover{background:#eef3f5;border-color:#82a7b7}.node-link-sign{font-weight:600}.node-link-cargo{color:#5c707b;font-size:11px}@media (width<=760px){.node-card-head{min-height:47px;padding:8px 106px 6px 14px}.node-card-close{padding:8px 12px;top:8px;right:10px}.node-card-body{padding:2px 14px 14px}.node-card h2{font-size:18px}#viewport[data-side-card=open] .scene-heading{display:none}}@media not all and (width<=760px){#viewport[data-side-card=open] .scene-heading{max-width:min(360px,100% - 24px);padding:4px 10px;top:8px;left:12px}#viewport[data-side-card=open] .scene-heading :is(.eyebrow,#scene-function,#scene-subtitle){display:none}#viewport[data-side-card=open] #scene-title{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;line-height:20px;overflow:hidden}}@media (prefers-reduced-motion:reduce){.node-card{animation:none}}.reload-notice{z-index:100;background:#edf0f1cc;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.reload-notice-box{color:#734b37;text-align:center;background:#f8fafb;border:1px solid #b17b61;border-radius:6px;max-width:min(420px,100%);padding:18px 24px;line-height:1.6;box-shadow:0 3px 12px #263a4410}.reload-notice-box p{margin:0 0 14px}.reload-notice-box button{color:#734b37;background:#fff;border:1px solid #b17b61;border-radius:5px;padding:10px 18px;font-size:13px}.reload-notice-box button:hover{background:#fbf3ef}.reload-notice-box button:focus{outline-offset:3px;outline:3px solid #1681ac}.scheme-figure{max-width:100%;height:auto;margin:12px 0 4px;display:block;overflow:visible}.scheme-figure text{fill:#27333b}.scheme-block rect{fill:#fff;stroke:#b9c8cf;stroke-width:1px}.scheme-block-input rect,.scheme-block-output rect{fill:#e4eff3;stroke:#397d97}.scheme-block-stop rect{fill:#f6dcd6;stroke:#c23a26}.scheme-figure .scheme-block-stop text{fill:#6e1d12;font-weight:600}.scheme-edge{fill:none;stroke-width:1.25px}.scheme-edge-flow{stroke:#5c707b}.scheme-edge-retry{stroke:#1d6f8c;stroke-dasharray:4 3}.scheme-edge-stop{stroke:#c23a26}.scheme-arrow-flow path{fill:#5c707b}.scheme-arrow-retry path{fill:#1d6f8c}.scheme-arrow-stop path{fill:#c23a26}.scheme-gate rect{fill:#f3ead5;stroke:#b89144;stroke-width:1px}.scheme-figure .scheme-gate-text{fill:#5e4a1f}.scheme-figure .scheme-label{font-weight:600}.scheme-figure .scheme-label-retry{fill:#1d6f8c}.scheme-figure .scheme-label-stop{fill:#9b2c1d}.scheme-card .scheme-note{color:#4a6270;border-left:3px solid #9fb6a0;margin:10px 0 0;padding-left:10px;font-size:12px;line-height:1.5}.scheme-leader{pointer-events:none;z-index:3;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.scheme-leader line{stroke:#196f8d;stroke-width:1.5px;stroke-linecap:round}.scheme-card .node-card-head{padding-left:12px}.scheme-card .node-card-body{padding-left:12px;padding-right:12px}.scheme-card:not([data-mode=section]) .node-card-body{scrollbar-gutter:stable}.scheme-list{position:relative}#scheme-section:empty{display:none}.scheme-card[data-mode=section]{box-shadow:none;margin:0 -12px 16px;position:relative}.scheme-card[data-mode=section] .node-card-body{flex:none;overflow:visible}.header-end{align-items:center;gap:10px;display:flex}.header-link{text-transform:uppercase;letter-spacing:.08em;color:#27333b;white-space:nowrap;border:1px solid #cbd6db;border-radius:4px;padding:7px 11px;font-size:11px;text-decoration:none}.header-link:hover{color:#1d6f8c;background:#fff;border-color:#7392a2}
