body[data-page="dl/lstm"]{--paper:#f5f8f7;--line:#dce6e5;--line2:#c6d8d8;--ink:#193c47;--ink2:#355966;--mute:#607981;--blue:#157c91;--blueink:#126479;--bluebg:#eaf5f6;background:#f5f8f7}
body[data-page="dl/lstm"]>.app>div{min-width:0}
.ls-main{max-width:1530px;padding:32px 36px 40px}.ls-header{align-items:center;margin-bottom:26px}.ls-header h1{font-size:36px;letter-spacing:.02em;line-height:1.4}.ls-header .one{font-size:15px;max-width:770px;line-height:1.8;color:#355966}.ls-eyebrow{font-size:10px;letter-spacing:.15em;margin:0 0 9px;color:#54717a}.ls-header .pn{display:none}
.ls-lab{background:white;border:1px solid #ccdedd;border-radius:18px;overflow:hidden;box-shadow:0 12px 45px #345b5a08}.ls-kicker{font-size:11px;font-weight:600;letter-spacing:.05em;color:#387781}.ls-lab h2,.ls-section-head h2{font-family:var(--sans);font-weight:600;font-size:21px;margin:5px 0 0;line-height:1.5}.ls-route-head{padding:24px 26px 18px;display:flex;justify-content:space-between;gap:22px;align-items:center}.ls-route-head>label{width:210px;flex-shrink:0;font-size:11px;display:grid;gap:5px}.ls-route-head select{font-size:13px}
.ls-sequence{display:flex;gap:38px;padding:0 26px 0;overflow:auto;scrollbar-width:thin}.ls-sequence button{position:relative;min-width:115px;flex:1;padding:10px 9px 8px;border:1px solid #d1dfde;border-radius:8px;background:#f8fbfa;text-align:left;color:#486771;box-shadow:0 4px 0 #e6efed;font-size:12px;margin:0 0 7px;transition:background .2s,border .2s}.ls-sequence button::before,.ls-sequence button::after{content:'→';position:absolute;right:-28px;top:14px;color:#37947d;font-size:20px;line-height:1}.ls-sequence button::after{top:43px;color:#368aa4}.ls-sequence button:last-child::before,.ls-sequence button:last-child::after{display:none}.ls-sequence button[aria-pressed=true]{border:2px solid #187e90;background:#eaf6f4;color:#124e5f;padding:9px 8px 7px;box-shadow:0 4px 0 #afd1cc}.ls-sequence button>small{display:flex;justify-content:space-between;font-size:10px;color:#4f747e}.ls-sequence button>b{display:block;margin:3px 0;font-size:13px;white-space:nowrap}.ls-mini-values{display:flex;gap:9px;font:10px ui-monospace,SFMono-Regular,monospace}.ls-sequence .ls-edited{font-size:8px;color:#916328}.ls-time-note{font-size:11px;color:#54717a;padding:0 26px;margin:10px 0 20px;line-height:1.7}.ls-time-note>span{font-weight:600;color:#236579;margin-right:10px}.ls-scene-head{border-top:1px solid #e2ebea;padding:17px 26px 5px;display:flex;justify-content:space-between;align-items:center}.ls-scene-head h2{font-size:18px;margin-top:1px}.ls-tools{display:flex;gap:6px}.ls-lab button,.ls-explore button{border-color:#cadedd;font-size:12px;padding:7px 11px;border-radius:7px}.ls-lab button.primary{background:#176e81;border-color:#176e81;color:#fff}.ls-tools button:nth-child(-n+2){width:33px;font-size:17px;padding:2px}.ls-lab button:focus-visible,.ls-explore button:focus-visible,summary:focus-visible,.ls-gate-controls input:focus-visible{outline:3px solid #e6b554;outline-offset:3px}
.ls-scene{position:relative;background:linear-gradient(180deg,#fff,#f1f7f5);overflow:hidden;touch-action:pan-y}.ls-scene-key{padding:8px 26px 0;display:flex;align-items:center;gap:18px;font-size:10px;flex-wrap:wrap}.ls-scene-key i{width:17px;height:3px;display:inline-block;margin-right:6px;vertical-align:3px}.ls-scene-key small{margin-left:auto;font-size:10px;color:#5b7780}.ls-memory{background:#2d9076}.ls-output{background:#2b85a5}.ls-control{background:#7a91a0}.ls-memory-text{color:#26785f}.ls-output-text{color:#28768f}.ls-scene svg{display:block;width:100%;height:auto;min-height:250px;touch-action:none;cursor:grab;user-select:none}.ls-scene svg:active{cursor:grabbing}.ls-scene svg text{font-family:var(--sans);fill:#1e4855;pointer-events:none}.ls-scene svg .ls-svg-small{font-size:11px;fill:#51707a}.ls-scene svg .ls-svg-title{font-size:15px;font-weight:600}.ls-scene svg .ls-svg-value{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.ls-scene svg .ls-svg-caption{font-size:12px;fill:#3b606c}.ls-node{cursor:pointer;outline:none}.ls-node:focus-visible .ls-node-body{stroke:#d89a2b;stroke-width:3px}.ls-node-body{transition:fill .3s,stroke .3s;stroke-width:1.2}.ls-node[data-active=true] .ls-node-body{stroke-width:2.5;filter:drop-shadow(0 4px 5px #2174761a)}.ls-pipe-base{fill:none;stroke:#dae6e4;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.ls-pipe-color{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:.55;transition:opacity .3s}.ls-path-group[data-active=true] .ls-pipe-color{opacity:1;stroke-width:5}.ls-flow-dot{opacity:0;fill:#fff;stroke-width:2;pointer-events:none}.ls-path-group[data-active=true] .ls-flow-dot{opacity:1}.ls-control-path .ls-pipe-base{stroke-width:5;stroke:#e3e9eb}.ls-control-path .ls-pipe-color{stroke-width:1.8;stroke-dasharray:5 5}.ls-node-glow{fill:#e7f4ef;stroke:#b5d6cc;stroke-width:1}.ls-gate-meter{transition:width .35s}.ls-node[data-active=true] .ls-node-glow{stroke:#278579;stroke-width:2}.ls-port-value{font-variant-numeric:tabular-nums}.ls-svg-op{font:24px var(--sans);fill:#267b66}.ls-phases{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #d9e7e4;border-bottom:1px solid #d9e7e4;background:#f7faf9;padding:10px 20px;gap:5px}.ls-phases button{border:0;border-radius:6px;background:transparent;color:#58717a;padding:8px 5px}.ls-phases button>span{font-size:10px;display:inline-grid;place-items:center;width:20px;height:20px;margin-right:6px;border:1px solid #bdcece;border-radius:50%}.ls-phases button[aria-pressed=true]{background:#e4f0ec;color:#1c675f;font-weight:600}.ls-phases button[aria-pressed=true]>span{color:white;background:#207c6d;border-color:#207c6d}.ls-player{display:flex;gap:7px;align-items:center;padding:13px 23px;flex-wrap:wrap}.ls-player label{display:flex;align-items:center;font-size:11px;gap:6px;margin-left:auto}.ls-player select{font-size:11px;width:66px;padding:5px}.ls-player-divider{width:1px;height:23px;background:#d8e4e3;margin:0 3px}.ls-player button[aria-pressed=true]{background:#dbedeb;border-color:#449989;color:#124e48}.ls-player button.primary[aria-pressed=true]{background:#195967;color:#fff}.ls-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.78fr);gap:30px;padding:20px 26px 23px;background:#f1f6f3;border-top:1px solid #e0e9e5;min-height:151px}.ls-story>div>span{font-size:10px;color:#438777}.ls-story h3{font-size:19px;margin:5px 0 7px}.ls-story p{font-size:13px;line-height:1.8;margin:0;color:#365d62}.ls-equation{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px}.ls-equation>span{font-size:11px;color:#5c7778}.ls-equation>b{font-size:17px;line-height:1.9;font-variant-numeric:tabular-nums;font-weight:600;word-break:break-word}.ls-equation .eq-kept{color:#298061}.ls-equation .eq-written{color:#ae7927}.ls-equation .eq-output{color:#277a9a}.ls-model-note{margin:0;padding:11px 26px;font-size:10px;line-height:1.8;color:#5d767c;background:#fff}.ls-native-status{padding:12px 26px;margin:0;background:#fff3dc;font-size:12px}
.ls-explore{padding:35px 0 0}.ls-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}.ls-section-head p{font-size:13px;color:#466872;margin:7px 0 0}.ls-experiment-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;background:#fff;border-top:1px solid #d8e5e2;border-bottom:1px solid #d8e5e2;padding:24px 26px}.ls-manual-toggle{font-size:14px;font-weight:600;display:flex;gap:8px;align-items:center}.ls-manual-toggle input{accent-color:#268975;width:16px;height:16px}.ls-gate-controls p{font-size:12px;line-height:1.85;color:#476a71}.ls-presets{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 19px}.ls-presets button{font-size:11px;background:#f3f8f6}.ls-slider-row{margin:17px 0}.ls-slider-row label{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.ls-slider-row label>span{display:flex;gap:7px;align-items:baseline}.ls-slider-row small{font-size:11px;font-weight:400;color:#55757a}.ls-slider-row output{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.ls-slider-row input{width:100%;accent-color:var(--gate-color);display:block;margin:9px 0 2px}.ls-slider-row input:disabled{opacity:.45}.ls-override-note{font-size:10px!important;margin-bottom:0}.ls-history{border-left:1px solid #e1ebe7;padding-left:26px;min-width:0}.ls-history-title h3{font-size:15px;margin:0 0 6px}.ls-history-title>div{display:flex;gap:18px;font-size:11px}.ls-history svg{width:100%;display:block;margin:5px 0}.ls-history svg text{font:11px var(--sans);fill:#59747d}.ls-history p{font-size:11px;color:#587479;line-height:1.8;margin:3px 0 10px}.ls-value-pair{display:flex;gap:35px}.ls-value-pair>div{display:flex;flex-direction:column;gap:3px}.ls-value-pair span{font-size:11px;color:#4b6e76}.ls-value-pair b{font:600 26px ui-monospace,SFMono-Regular,monospace;color:#2b7f68}.ls-value-pair>div+div b{color:#2d80a0}.ls-reading{margin-top:35px}.ls-concepts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.ls-concepts article{border-top:2px solid #a8c8c0;padding-top:15px}.ls-concepts article>span{font-size:10px;letter-spacing:.05em;color:#508578}.ls-concepts h3{font-size:17px;margin:10px 0}.ls-concepts p{font-size:13px;line-height:1.9;color:#395e66;margin:0}.ls-details{margin-top:28px;border-top:1px solid #d1e1de;border-bottom:1px solid #d1e1de;padding:17px 0;font-size:12px;line-height:1.9}.ls-details summary{font-size:13px;cursor:pointer;font-weight:600}.ls-details p{max-width:950px;color:#46666f}.ls-details a{color:#126d87;text-decoration:underline;text-underline-offset:3px}#ls-calculation{margin-top:18px;overflow:auto}#ls-calculation table{width:100%;font-size:12px;border-collapse:collapse}#ls-calculation th,#ls-calculation td{text-align:left;border-bottom:1px solid #e1eae6;padding:9px}#ls-calculation th{color:#477268}.ls-takeaway{font-size:15px;margin:30px 0 0;padding:20px 0;color:#46716c}.ls-takeaway strong{color:#205850}.ls-main footer{margin-top:8px}.ls-lab:is(:fullscreen,.vz-visual-full){width:100%;height:100%;border:0;border-radius:0;background:#fff;overflow:auto;display:flex;flex-direction:column}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-route-head{padding-top:12px;padding-bottom:9px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-route-head h2{font-size:17px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-time-note{margin-bottom:8px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-scene-head{padding-top:8px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-scene{flex:1;min-height:300px;display:flex;flex-direction:column}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-scene svg{height:100%;flex:1;min-height:260px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-story{min-height:90px;padding:11px 26px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-story h3{font-size:16px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-story p{font-size:12px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-model-note{padding:5px 26px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-player{padding-top:7px;padding-bottom:7px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-phases{padding-top:5px;padding-bottom:5px}
@media(min-width:1500px){.ls-main{padding:36px 44px}.ls-scene svg{max-height:550px}.ls-route-head{padding-top:28px}}
@media(max-width:1050px){.ls-main{padding:25px 24px}.ls-sequence{gap:25px;padding-left:20px;padding-right:20px}.ls-sequence button{min-width:104px}.ls-sequence button::before,.ls-sequence button::after{right:-20px;font-size:17px}.ls-route-head{padding-left:20px;padding-right:20px}.ls-story{gap:18px}.ls-player{gap:5px;padding-left:20px;padding-right:20px}.ls-player button{padding:7px 9px;font-size:11px}.ls-experiment-grid{gap:20px;padding:20px}.ls-history{padding-left:20px}.ls-phases{padding-left:12px;padding-right:12px}.ls-phases button{font-size:11px}.ls-phases button>span{margin-right:3px}.ls-scene-key{padding-left:20px;padding-right:20px;gap:10px}.ls-scene-key small{font-size:9px}}
@media(max-width:680px){.ls-main{padding:22px 14px}.ls-header h1{font-size:28px}.ls-header .one{font-size:13px}.ls-header{margin-bottom:19px}.ls-eyebrow{font-size:9px}.ls-route-head{align-items:flex-start;gap:12px;padding:18px 16px 14px;flex-direction:column}.ls-route-head h2{font-size:18px}.ls-route-head>label{display:flex;align-items:center;gap:10px;width:100%}.ls-route-head select{flex:1}.ls-sequence{padding:0 16px;gap:26px}.ls-sequence button{min-width:122px}.ls-time-note{font-size:10px;padding:0 16px;margin:9px 0 13px}.ls-scene-head{padding:14px 16px 8px;gap:10px}.ls-scene-head h2{font-size:16px}.ls-tools{gap:4px}.ls-tools button{font-size:10px;padding:5px 8px}.ls-tools button:nth-child(-n+2){width:26px;font-size:15px}.ls-tools #ls-fit{max-width:45px;line-height:1.5}.ls-scene-key{padding:3px 16px 7px;gap:9px;font-size:9px}.ls-scene-key small{width:100%;margin-left:0}.ls-scene svg{min-height:365px;height:365px;width:100%}.ls-phases{display:flex;overflow:auto;padding:8px 10px;gap:3px}.ls-phases button{min-width:90px;padding:6px 4px;font-size:10px}.ls-phases button>span{width:17px;height:17px;font-size:9px}.ls-player{padding:11px 14px;gap:7px}.ls-player label{margin-left:0}.ls-player-divider{display:none}.ls-player button{font-size:11px;padding:7px 9px}.ls-story{grid-template-columns:1fr;gap:13px;padding:17px 16px;min-height:220px}.ls-story h3{font-size:17px}.ls-story p{font-size:12px}.ls-equation>b{font-size:15px}.ls-equation{border-top:1px solid #d6e5dc;padding-top:10px}.ls-model-note{padding:10px 16px;font-size:9px}.ls-section-head{align-items:flex-start;gap:12px}.ls-section-head h2{font-size:20px}.ls-section-head p{font-size:12px}.ls-section-head>button{flex-shrink:0;max-width:72px;font-size:10px}.ls-experiment-grid{grid-template-columns:1fr;padding:20px 16px}.ls-history{border-left:0;border-top:1px solid #e1ebe7;padding:20px 0 0}.ls-concepts{grid-template-columns:1fr;gap:22px}.ls-concepts article{padding-top:11px}.ls-concepts h3{font-size:16px;margin:6px 0}.ls-concepts p{font-size:12px}.ls-takeaway{font-size:13px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-scene{min-height:365px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-story{min-height:180px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-story>div+div{display:none}}
@media(prefers-reduced-motion:reduce){.ls-main *,.ls-main *::after,.ls-main *::before{animation:none!important;transition:none!important}}

/* On narrow screens keep labels readable; each phase pans to its operation. */
@media(max-width:680px){.ls-scene svg{width:900px;height:414px;min-height:414px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-scene svg{width:900px;height:414px;flex:none}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-scene{min-height:448px;flex:none}.ls-scene-key small{font-size:10px}}
/* Fullscreen concentrates on the cell; never squeeze timeline or explanation. */
.ls-lab:is(:fullscreen,.vz-visual-full)> *{flex-shrink:0}
.ls-lab:is(:fullscreen,.vz-visual-full)>.ls-route-head,.ls-lab:is(:fullscreen,.vz-visual-full)>.ls-sequence,.ls-lab:is(:fullscreen,.vz-visual-full)>.ls-time-note,.ls-lab:is(:fullscreen,.vz-visual-full)>.ls-model-note{display:none}
.ls-lab:is(:fullscreen,.vz-visual-full) .ls-scene{flex:1 0 340px;min-height:340px}
.ls-lab:is(:fullscreen,.vz-visual-full) .ls-scene-key{flex:none}
.ls-lab:is(:fullscreen,.vz-visual-full) .ls-scene svg{flex:1;height:0;min-height:300px}
.ls-lab:is(:fullscreen,.vz-visual-full) .ls-story{flex:none;min-height:110px}
.ls-lab:is(:fullscreen,.vz-visual-full) .ls-svg-title{font-size:17px}
.ls-lab:is(:fullscreen,.vz-visual-full) .ls-svg-value{font-size:19px}
.ls-lab:is(:fullscreen,.vz-visual-full) .ls-svg-small{font-size:12px}
.ls-lab:is(:fullscreen,.vz-visual-full) .ls-svg-caption{font-size:13px}
@media(max-width:680px){.ls-lab:is(:fullscreen,.vz-visual-full) .ls-scene{flex:none;min-height:448px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-scene svg{flex:none;width:900px;height:414px}.ls-lab:is(:fullscreen,.vz-visual-full) .ls-story{min-height:180px}}

/* Open with the cell diagram; the temporal overview follows its explanation. */
.ls-lab>.ls-scene-head{border-top:0}
.ls-scene-head h1{font:600 23px/1.4 var(--sans);margin:0;color:var(--ink)}
.ls-current-input{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:5px 0 0;line-height:1.5}
.ls-current-input strong{font-size:13px;font-weight:500;color:var(--ink2)}
.ls-lab>.ls-route-head{border-top:1px solid #d9e7e4}
.ls-lab:is(:fullscreen,.vz-visual-full) .ls-scene-head h1{font-size:20px}
@media(max-width:680px){.ls-main{padding-top:14px}.ls-scene-head h1{font-size:20px}.ls-current-input{gap:3px 10px}.ls-current-input strong{font-size:12px}}
