:root{color-scheme:dark;--ink:#151515;--paper:#eee9dc;--muted:#aaa69c;--red:#ef4338;--yellow:#e7ec93;--line:#414039;--surface:#222220;font-family:Arial,Helvetica,sans-serif;font-size:16px;background:var(--ink);color:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}button:disabled{opacity:.3;cursor:not-allowed}button{color:inherit}button,select{border-radius:0}button:hover:not(:disabled){filter:brightness(1.12)}[hidden]{display:none!important}button{transition:background .15s,transform .15s}a{color:inherit}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);gap:20px}.wordmark{border:0;background:none;font-weight:800;text-align:left;font-size:13px;letter-spacing:-.2px;padding:0}.wordmark strong{color:var(--red)}.header-right{display:flex;gap:25px;align-items:center}.header-right>span{font-size:11px;letter-spacing:1.8px;color:var(--muted)}.icon-button{border:1px solid var(--line);background:transparent;padding:9px 11px;font-size:12px;min-width:36px;min-height:36px}.cover{position:relative;min-height:calc(100svh - 70px);overflow:hidden;display:flex;align-items:center}.cover-art,.ending-art{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,12,.92),rgba(12,12,12,.08)),url('./assets/cinema.webp') center/cover}.cover-grain{pointer-events:none;position:absolute;inset:0;opacity:.15;background:repeating-linear-gradient(0deg,transparent,transparent 2px,#000 3px,transparent 4px)}.cover-content{position:relative;padding:65px max(7vw,30px);max-width:850px}.eyebrow{font:11px/1.5 'Courier New',monospace;letter-spacing:2px;margin:0 0 10px;color:var(--muted);font-weight:bold}.cover h1{font-size:clamp(70px,9.4vw,154px);line-height:.84;letter-spacing:-.072em;margin:35px 0 30px;font-weight:900}.cover h1 em{font-style:normal;color:var(--red)}.cover h1 span{color:var(--red)}.cover-copy{font-size:19px;line-height:1.5;color:#dad6ca;margin:0 0 28px}.primary{background:var(--red);color:#151515;border:1px solid var(--red);padding:18px 26px;font-weight:900;letter-spacing:1px;font-size:14px;min-height:54px}.primary.big{padding:22px 26px;min-width:270px;text-align:left}.primary span{float:right;margin-left:25px}.secondary{background:transparent;border:1px solid #767266;padding:17px 19px;font-size:12px;font-weight:bold;min-height:50px}.text-button{border:0;background:transparent;padding:12px 15px;font-size:13px;text-decoration:underline;text-underline-offset:4px;color:var(--muted)}.cover-meta{font:12px/1.7 'Courier New',monospace;color:var(--muted);margin-top:24px}.cover-stamp{position:absolute;right:6vw;bottom:8vh;border:2px solid var(--paper);font-size:18px;line-height:1.3;padding:20px;font-weight:900;transform:rotate(-8deg);letter-spacing:-.5px;background:#151515b0}.cover-stamp span{display:block;font:11px 'Courier New',monospace;margin-top:10px;letter-spacing:1px}.game{max-width:1460px;margin:auto;padding:25px 34px 18px}.scene-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px;gap:20px}.scene-heading .eyebrow{color:var(--red);margin-bottom:5px}.scene-heading h1{font-size:34px;letter-spacing:-1.4px;margin:0;font-weight:800;line-height:1}.scene-counters{display:flex;align-items:center;gap:23px;font:12px 'Courier New',monospace;white-space:nowrap}#hearts{font-size:22px;letter-spacing:3px;color:var(--red)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:22px}.screen-panel{min-width:0;border:1px solid var(--line);background:#080808}.screen-top,.screen-bottom{display:flex;justify-content:space-between;align-items:center;min-height:31px;padding:7px 15px;font:bold 11px 'Courier New',monospace;letter-spacing:1px;gap:10px}.screen-top{border-bottom:1px solid var(--line);color:var(--muted)}.screen-bottom{border-top:1px solid var(--line);min-height:39px}.canvas-wrap{position:relative;aspect-ratio:1.84;overflow:hidden;background:var(--paper)}canvas{display:block;width:100%;height:100%;touch-action:manipulation}.frame-caption{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:#111e;color:var(--paper);font:italic 14px Georgia,serif;padding:7px 14px;text-align:center;max-width:90%;pointer-events:none;white-space:normal;opacity:0;transition:opacity .15s}.frame-caption.visible{opacity:1}#screen-flash{position:absolute;inset:0;pointer-events:none}.scene-intro{font-size:14px;color:#cac6bb;line-height:1.45;margin:0;padding:11px 15px;border-top:1px solid var(--line)}.text-button.small{font-size:11px;padding:3px 0}.edit-desk{background:var(--paper);color:var(--ink);padding:15px 16px;display:flex;flex-direction:column;min-width:0}.desk-label{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:10px;font:bold 11px 'Courier New',monospace;letter-spacing:.7px}.scissors{font-size:18px;line-height:10px}.selected-info{padding-top:14px;min-height:118px}.selected-info .eyebrow{color:#656159;font-size:10px;margin:0 0 5px}.selected-info h2{font-size:29px;line-height:1;margin:0 0 7px;letter-spacing:-1px}.selected-info>p:last-child{font:13px/1.4 Arial,sans-serif;margin:0;color:#555047}.direction-pad{display:grid;grid-template-columns:42px 42px 42px;grid-template-rows:36px 36px 36px;gap:4px;justify-content:center;margin:10px 0}.direction-pad button{background:#d7d3c7;border:1px solid #c1bcaf;color:var(--ink);font-size:21px}.direction-pad button[data-dir="0"]{grid-column:2;grid-row:1}.direction-pad button[data-dir="3"]{grid-column:1;grid-row:2}.direction-pad button[data-dir="1"]{grid-column:3;grid-row:2}.direction-pad button[data-dir="2"]{grid-column:2;grid-row:3}.direction-pad button.active,.segmented button.active,.action-switch button.active{background:var(--red);border-color:var(--red)}#direction-center{grid-column:2;grid-row:2;align-self:center;text-align:center;font:bold 9px 'Courier New',monospace}.segmented,.action-switch{display:flex;gap:5px;margin:8px 0 10px}.segmented button,.action-switch button{flex:1;border:1px solid #b3ad9e;background:transparent;color:var(--ink);padding:8px;font:bold 11px 'Courier New',monospace}.splice-controls{padding-top:12px;border-top:1px solid #c7c0b0;margin-top:10px}.splice-controls>label{font:bold 10px 'Courier New',monospace;letter-spacing:.4px}.splice-controls>div{display:flex;gap:6px;margin-top:6px}.splice-controls select{background:#ded9cb;border:1px solid #b3ad9e;color:var(--ink);width:60px;padding:8px;font-size:14px}.dark-button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:9px 12px;font-size:11px;flex:1}.forecast{margin-top:auto;padding-top:15px}.forecast>span{font:10px 'Courier New',monospace;display:block;margin-bottom:5px}.forecast strong{font-size:14px;display:block;line-height:1.35}.forecast.danger strong{color:#b0201b}.forecast p{font-size:12px;line-height:1.4;margin:5px 0 0;color:#625c50}.timeline-section{margin-top:19px}.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:9px}.timeline-heading>div{display:flex;gap:17px;align-items:center}.timeline-heading strong{font-size:12px;letter-spacing:1.2px}.timeline-heading #cut-count{font:bold 11px 'Courier New',monospace;color:var(--yellow)}.timeline-tools{gap:6px!important}.timeline-tools button{background:transparent;border:1px solid var(--line);font-size:11px;padding:7px 10px}.film-track{background:#090909;border:1px solid #35332e;padding:12px 7px;position:relative}.film-track:before,.film-track:after{content:'';position:absolute;left:0;right:0;height:5px;background:repeating-linear-gradient(90deg,transparent 0 10px,#666155 10px 17px,transparent 17px 27px)}.film-track:before{top:3px}.film-track:after{bottom:3px}.timeline{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 5px;scrollbar-width:thin;scrollbar-color:#797266 #151515}.frame{position:relative;background:#282722;border:1px solid #625d51;color:var(--paper);min-width:112px;flex:1;min-height:113px;padding:10px 11px;text-align:left;user-select:none;touch-action:pan-x}.frame.hero{background:#542e29;border-color:#a9554b}.frame.selected{outline:2px solid var(--yellow);outline-offset:0}.frame.playing{outline:3px solid var(--red);background:#b33c30}.frame.drag-over{border-left:6px solid var(--yellow)}.frame.dead-frame{opacity:.48}.frame.locked:after{content:'━';position:absolute;right:10px;top:3px;font-size:25px;color:#c4a256;transform:rotate(-15deg)}.frame .frame-no{font:10px 'Courier New',monospace;display:block;color:#b3ada0;margin-bottom:7px}.frame .frame-owner{font:bold 10px 'Courier New',monospace;letter-spacing:.7px;display:block;color:#c0b9aa}.frame.hero .frame-owner{color:#ff998c}.frame strong{display:block;font-size:18px;line-height:1;margin:4px 0 8px;letter-spacing:-.5px;text-transform:uppercase}.frame .frame-detail{font:11px 'Courier New',monospace;display:block;color:#bcb5a6;white-space:nowrap}.timeline-footer{display:flex;justify-content:space-between;gap:15px;margin-top:9px;color:var(--muted);font-size:11px;line-height:1.5}.transport{display:flex;justify-content:space-between;gap:20px;margin-top:20px;align-items:center}.transport>div{display:flex;gap:5px;align-items:center}.bottom-note{display:flex;justify-content:space-between;gap:20px;font:10px/1.7 'Courier New',monospace;color:#8c887e;border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.bottom-note>span:first-child{color:#c6c1b4}.hint-text{border-left:3px solid var(--yellow);background:#2c2c25;margin-top:14px;padding:12px 16px;font-size:14px;line-height:1.5}.ending{min-height:calc(100svh - 70px);position:relative;overflow:hidden}.ending-art{opacity:.25;filter:grayscale(1);background-position:right}.ending-content{position:relative;max-width:880px;padding:8vh 7vw}.ending h1{font-size:clamp(42px,5.5vw,84px);letter-spacing:-3px;line-height:1.04;margin:25px 0}.ending h1 em{font-family:Georgia,serif;font-weight:400;color:var(--red);letter-spacing:-2px}.ending-content>p{font:17px/1.7 Georgia,serif;max-width:500px}.ending-content>.eyebrow{font:bold 11px 'Courier New',monospace}.ending #credits>p{font:12px/2 'Courier New',monospace;letter-spacing:1px;margin-top:35px}#credit-stats{display:flex;gap:25px;margin-top:30px;flex-wrap:wrap}#credit-stats>div{font:11px 'Courier New',monospace;color:var(--muted)}#credit-stats strong{display:block;font:bold 32px Arial;color:var(--paper);margin-bottom:7px}.release-text{animation:fade-in 2s both}dialog{max-width:650px;width:calc(100% - 36px);max-height:85svh;overflow:auto;padding:34px;background:var(--paper);color:var(--ink);border:0;box-shadow:12px 12px 0 #0008}dialog::backdrop{background:#000c;backdrop-filter:blur(4px)}.modal-close{position:absolute;right:12px;top:9px;border:0;background:none;color:#39362f;font-size:30px}.modal-title{font-size:40px;letter-spacing:-2px;line-height:1;margin:15px 0}.modal-eyebrow{font:bold 11px 'Courier New',monospace;color:#797064;letter-spacing:1px}.modal-copy{font-size:16px;line-height:1.6;color:#4d463b}.modal-copy strong{color:var(--ink)}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.modal-actions .secondary{color:var(--ink)}.medal-row{display:flex;gap:10px;margin:22px 0;flex-wrap:wrap}.medal{flex:1;background:#dcd6c8;text-align:center;padding:15px 8px;font:11px 'Courier New',monospace;min-width:100px;color:#898171}.medal.earned{background:var(--ink);color:var(--paper)}.medal span{display:block;font-size:25px;margin-bottom:7px;color:var(--red)}.scene-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:25px}.scene-list button{text-align:left;padding:14px;background:#d9d2c3;border:1px solid #bcb2a0;color:var(--ink);font-size:14px;line-height:1.4}.scene-list button strong{font:10px 'Courier New',monospace;display:block;color:#7c493b;margin-bottom:5px}.help-list{padding-left:23px;font-size:15px;line-height:1.6}.help-list li{padding:5px 0}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:var(--yellow);color:var(--ink);padding:12px 20px;max-width:90vw;font-size:13px;box-shadow:0 3px 25px #0006;transition:opacity .2s,transform .2s;z-index:10}#toast.visible{opacity:1;transform:translate(-50%,0)}@keyframes fade-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(min-width:1450px){.canvas-wrap{aspect-ratio:1.9}.selected-info{min-height:126px}.edit-desk{padding:18px}}@media(max-width:1000px){.topbar{padding:0 20px}.header-right>span{display:none}.game{padding:22px 20px}.workspace{grid-template-columns:minmax(0,1fr) 220px;gap:15px}.canvas-wrap{aspect-ratio:1.4}.frame{min-width:105px}.selected-info>p:last-child{font-size:12px}.bottom-note>span:last-child{display:none}.cover-stamp{font-size:15px;right:4vw}.screen-top,.screen-bottom{font-size:10px;letter-spacing:0}}@media(max-width:700px){.topbar{height:58px;padding:0 16px}.wordmark{max-width:140px;font-size:12px;line-height:1.3}.header-right{gap:9px}.cover{min-height:calc(100svh - 58px)}.cover-content{padding:45px 25px;align-self:flex-start}.cover h1{font-size:clamp(68px,16vw,110px);margin:30px 0}.cover-art{background-position:62% center}.cover-stamp{display:none}.cover .eyebrow{font-size:9px;letter-spacing:1.5px}.cover-copy{font-size:16px}.cover-meta{font-size:10px}.game{padding:18px 12px 25px}.scene-heading{align-items:center;gap:8px}.scene-heading h1{font-size:25px;letter-spacing:-1px}.scene-heading .eyebrow{font-size:9px}.scene-counters{flex-direction:column;gap:2px;align-items:end;font-size:10px}#hearts{font-size:18px}.workspace{display:flex;flex-direction:column;gap:10px}.canvas-wrap{aspect-ratio:1.52}.screen-top,.screen-bottom{padding:7px 10px}.scene-intro{font-size:12px;padding:9px 10px}.edit-desk{display:grid;grid-template-columns:1fr 1fr;gap:8px 15px;padding:13px;position:relative}.desk-label{grid-column:1/-1;padding-bottom:8px}.selected-info{padding-top:4px;min-height:0}.selected-info h2{font-size:25px}.selected-info>p:last-child{max-width:190px}.selected-info .eyebrow{font-size:9px}#creature-controls{grid-column:2;grid-row:2/4;align-self:center;display:flex;flex-direction:column;align-items:center}.direction-pad{grid-template-columns:34px 34px 34px;grid-template-rows:30px 30px 30px;gap:3px;margin:0}.segmented,.action-switch{width:100%;max-width:170px;margin:5px 0 0}.segmented button,.action-switch button{padding:6px;font-size:10px}.splice-controls{grid-column:1;margin:0;padding:5px 0 0;border:0;max-width:190px}.splice-controls>label{font-size:9px}.splice-controls select{padding:7px}.forecast{grid-column:1/-1;border-top:1px solid #c7c0b0;padding-top:8px;display:grid;grid-template-columns:1fr auto;gap:3px}.forecast>span{font-size:9px;grid-column:1/-1;margin:0}.forecast strong{font-size:12px}.forecast p{font-size:10px;margin:0;max-width:150px;text-align:right;line-height:1.3}.timeline-section{margin-top:14px}.timeline-heading{gap:7px;flex-wrap:wrap}.timeline-heading strong{font-size:10px}.timeline-heading>div{gap:9px}.timeline-tools button{font-size:10px;padding:6px}.timeline-tools{gap:4px!important}.frame{min-width:103px;min-height:105px;padding:8px}.frame strong{font-size:17px}.timeline-footer{font-size:10px}.timeline-footer .text-button{font-size:10px;white-space:nowrap}.transport{margin-top:15px;gap:8px;align-items:stretch}.transport>div{flex-wrap:wrap;gap:0;max-width:190px}.transport .secondary{padding:9px;font-size:10px;min-height:36px}.transport .text-button{font-size:10px;padding:7px}.transport .primary{font-size:11px;padding:13px;min-width:140px}.bottom-note{margin-top:15px;font-size:9px}.ending-content{padding:8vh 25px}.ending h1{letter-spacing:-2px}.ending h1 em{letter-spacing:-1px}.frame-caption{font-size:12px;bottom:8px}.scene-list{grid-template-columns:1fr}dialog{padding:27px 24px}.modal-title{font-size:34px}.medal{min-width:80px;font-size:10px}.screen-bottom .text-button.small{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* The film must remain legible when played, including on a small screen. */
.header-right>span,.eyebrow,.cover-meta,.cover-stamp span,.screen-top,.screen-bottom,.desk-label,.selected-info .eyebrow,.splice-controls>label,.forecast>span,.frame .frame-no,.frame .frame-owner,.frame .frame-detail,.timeline-footer,.bottom-note,.modal-eyebrow,.scene-list button strong{font-size:12px}
.selected-info>p:last-child,.forecast p,.scene-intro{font-size:14px}
.icon-button,.text-button,.text-button.small,.timeline-tools button,.segmented button,.action-switch button,.dark-button,.timeline-heading strong,.timeline-heading #cut-count{font-size:12px}
.timeline-tools button,.segmented button,.action-switch button{min-height:34px}
.canvas-wrap{height:clamp(260px,38vh,410px);aspect-ratio:auto}
.frame{min-width:122px;min-height:120px}.frame .frame-detail{white-space:normal;line-height:1.3}.frame .frame-owner{letter-spacing:0}.frame strong{font-size:19px}
.forecast{margin-top:12px}.selected-info{min-height:125px}.timeline-footer{line-height:1.5}.bottom-note{font-size:12px}.cover .eyebrow{font-size:12px}
@media(max-width:1000px){.frame{min-width:118px}.selected-info>p:last-child{font-size:14px}.screen-top,.screen-bottom{font-size:11px}}
@media(max-width:700px){.canvas-wrap{height:auto;aspect-ratio:1.52}.selected-info{min-height:0}.selected-info>p:last-child{font-size:13px}.forecast p{font-size:12px}.forecast strong{font-size:13px}.forecast{margin-top:0}.forecast>span{font-size:11px}.direction-pad{grid-template-columns:38px 38px 38px;grid-template-rows:34px 34px 34px}.frame{min-width:116px}.timeline-tools button{font-size:11px;min-height:34px}.timeline-heading strong,.timeline-heading #cut-count{font-size:11px}.scene-intro{font-size:14px}.timeline-footer .text-button{font-size:12px;white-space:normal}.transport .text-button{font-size:12px;min-height:34px}.transport .secondary{font-size:11px}.transport .primary{font-size:12px}.bottom-note{font-size:11px}.screen-bottom .text-button.small{font-size:11px}.cover-meta{font-size:12px}.cover .eyebrow{font-size:11px}.splice-controls>label{font-size:11px}.selected-info .eyebrow{font-size:11px}}

#free-birds{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
