.film-library{margin:26px 0 32px;padding-top:25px;border-top:1px solid #415238}
.film-library-heading{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}
.film-library-heading h3{font:500 26px/1.2 var(--display);letter-spacing:-.7px;margin:10px 0 7px}.film-library-heading h3 span{color:var(--lime)}
.film-format{font:8px/1.6 var(--mono);letter-spacing:1px;color:var(--lime);border:1px solid #4e663e;border-radius:4px;padding:7px 8px;white-space:nowrap}
.film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.film-card{padding:0;border:1px solid #3e5137;border-radius:9px;overflow:hidden;text-align:left;background:#162219;min-width:0}
.film-card:hover{border-color:var(--film-accent);transform:translateY(-2px)}.film-poster{height:125px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#30452c,#142219 75%)}
.film-thumbnail{display:block!important;width:100%;height:100%;max-width:none}.film-number{position:absolute;top:12px;left:13px;font:10px var(--mono);color:#a1b495}
.film-card-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:37px;height:37px;background:#142416cf;border:1px solid var(--film-accent);border-radius:50%;color:var(--film-accent);box-shadow:0 3px 20px #0008}
.film-card-play svg{width:20px;height:20px}.film-length{position:absolute;right:10px;bottom:9px;background:#102016df;padding:4px 6px;border-radius:3px;font:10px var(--mono);color:#d7e6c9}
.film-card-copy{padding:14px 15px 16px;border-top:1px solid #344a2e}.film-card-copy strong{display:block;font:500 15px var(--display);color:#e0ead7}.film-card-copy>span{display:block;margin-top:7px;color:#a9b99d;font-size:11px;line-height:1.4}
.film-library .film-library-note{font:10px/1.7 var(--mono);color:#a2b694;margin-top:14px}.film-lesson-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:15px;padding:7px 10px;border:1px solid #526a42;border-radius:4px;color:var(--lime);font-size:11px}
dialog.cinema-modal{width:min(1100px,calc(100vw - 32px));padding:0;background:#152019;max-height:94dvh;overflow:auto}.cinema-modal .modal-close{z-index:5;background:#17251b;color:#d5e5cb;border-color:#536448}
.film-heading{padding:23px 30px 22px}.film-back{font:11px var(--sans);color:#bad0aa;padding:0;margin-bottom:20px;display:block}.film-heading .eyebrow{display:block;color:var(--film-accent);font-size:9px}
.film-heading h2{margin:8px 42px 7px 0;font-size:32px;letter-spacing:-.9px}.film-heading p{font-size:12px;color:#a9bca0}
.film-screen{position:relative;isolation:isolate;background:#111b18;border-block:1px solid #3d5235}.film-stage{height:clamp(300px,43vh,470px);overflow:hidden}.film-stage canvas{display:block;width:100%;height:100%}
.film-hud{position:absolute;inset:17px 23px auto;display:flex;justify-content:space-between;pointer-events:none;font:9px var(--mono);letter-spacing:1px;color:#bacdb0}
.film-live{display:flex;align-items:center;gap:7px}.film-live:before{content:'';width:5px;height:5px;background:var(--film-accent);border-radius:50%}
.film-scene-caption{position:absolute;bottom:16px;left:23px;display:flex;gap:8px;flex-direction:column;pointer-events:none;padding:10px 14px;border-left:2px solid var(--film-accent);background:#101c16dd;border-radius:0 5px 5px 0;max-width:calc(100% - 46px)}
.film-cue-title{font:500 16px var(--display);color:#e6eedf}.film-scene-note{font:8px var(--mono);letter-spacing:1px;color:#a4bb95}
.film-start{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:9px;min-width:180px;padding:19px 24px;border-radius:12px;border:1px solid var(--film-accent);background:#142518ec;box-shadow:0 10px 50px #0009;color:#dfedce;backdrop-filter:blur(5px)}
.film-start>svg{width:43px;height:43px;color:var(--film-accent)}.film-start>span{font:500 15px var(--display)}.film-start>small{color:#b0c39e;font:10px var(--mono)}
.film-subtitle{min-height:99px;display:flex;gap:20px;align-items:flex-start;padding:18px 30px 14px;background:#101b14}.film-caption-label{color:#91a87f;font:8px var(--mono);letter-spacing:1px;padding-top:6px;flex-shrink:0}.film-subtitle p{font-size:14px;line-height:1.7;color:#e1e9da;max-width:830px}
.film-controls{padding:10px 30px 14px;background:#101b14;border-bottom:1px solid #34472d}.film-seek{width:100%;height:20px;margin:0;accent-color:var(--film-accent);cursor:pointer;background:transparent}.film-seek::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,var(--film-accent) var(--progress,0%),#40503a var(--progress,0%));border-radius:3px}.film-seek::-webkit-slider-thumb{margin-top:-6px}
.film-buttons{display:flex;gap:13px;align-items:center;min-height:42px}.film-buttons button{min-width:35px;min-height:36px;border-radius:5px;border:1px solid transparent;color:#d0dfc4;padding:5px 8px}.film-buttons button:hover{background:#2a3e23}.film-buttons button[aria-pressed="true"]{color:var(--film-accent);border-color:#455f35}.film-toggle{color:var(--film-accent)!important}.film-time{font:11px var(--mono);font-variant-numeric:tabular-nums;color:#a6bc96;white-space:nowrap}.film-control-spacer{flex:1}.film-sound{font-size:11px}.film-captions{font:bold 11px var(--mono)}
.film-controls .film-audio-status{font-size:10px;color:var(--amber)}.film-audio-status:empty{display:none}.film-after{padding:20px 30px 25px}.film-after>p{color:#b6c8aa;font-size:12px;line-height:1.8}.film-after>p>b{display:block;color:var(--film-accent);font:9px var(--mono);text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}.film-next-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:13px 0}.film-next-row>span{font:9px var(--mono);color:#95a887}.film-next-row .text-button{color:var(--film-accent)}
.film-transcript{border-top:1px solid #3c4f33;padding-top:13px}.film-transcript summary{cursor:pointer;font-size:11px;color:#b7cba8}.film-transcript p{margin-top:14px}.film-transcript p b{color:#d0dfc5}.film-no-webgl{display:grid;place-content:center;text-align:center;height:100%;padding:30px;color:#b7cba8;font-size:14px;line-height:1.8}
@media(max-width:600px){.film-library-heading{flex-direction:column;gap:10px}.film-format{font-size:7px}.film-library-heading h3{font-size:23px}.film-grid{gap:9px}.film-poster{height:102px}.film-card-copy{padding:12px 10px}.film-card-copy strong{font-size:13px;overflow-wrap:anywhere}.film-card-copy>span{font-size:10px}.film-card-play{width:31px;height:31px}.film-length{font-size:9px}.film-library .film-library-note{font-size:9px}.film-heading{padding:18px 18px 19px}.film-heading h2{font-size:25px;margin-right:20px;overflow-wrap:anywhere}.film-back{margin-bottom:18px}.film-stage{height:300px}.film-hud{inset:14px 14px auto;font-size:7px}.film-scene-caption{left:14px;bottom:12px;max-width:calc(100% - 28px)}.film-cue-title{font-size:13px}.film-subtitle{display:block;padding:14px 18px;min-height:140px}.film-caption-label{display:block;padding:0;margin-bottom:7px}.film-subtitle p{font-size:12px;line-height:1.7}.film-controls{padding:5px 14px 12px}.film-buttons{gap:4px}.film-buttons button{padding:4px;min-width:32px}.film-time{font-size:9px}.film-sound{font-size:10px}.film-after{padding:18px}.film-next-row{align-items:flex-start;flex-direction:column;gap:5px}.film-start{min-width:150px;padding:14px 17px;top:42%}.film-start>svg{width:32px;height:32px}.film-start>span{font-size:13px}}
@media(max-width:360px){.film-grid{grid-template-columns:1fr}.film-poster{height:125px}.film-stage{height:270px}.film-heading h2{font-size:23px}.film-control-spacer{display:none}.film-buttons{justify-content:space-between}.film-subtitle{min-height:155px}}
@media(prefers-reduced-motion:reduce){.film-card:hover{transform:none}}
