/* Existing painted characters and props, scoped to the optional epilogue. */
.fg-panel{width:min(760px,calc(100vw - 18px));max-height:calc(var(--winter-ui-viewport-height,100dvh) - 18px);background:#123b40;color:#fff8e5;border-color:#d8c79280}
.fg-panel>header{background:#123b40;border-bottom-color:#d8c79255}.fg-panel>header h2{color:#fff8e5}.fg-panel>header button{min-width:48px;min-height:48px;border-radius:14px;background:#eff1df;color:#173e3a;border:1px solid #bdcfb8}
.fg-panel .winter-panel-body{padding:12px;overflow:auto}.fg-content{max-width:100%;color:#f7f0d8}.fg-content button,.fg-content select{min-height:48px;max-width:100%;padding:12px 16px}.fg-content button{cursor:pointer}.fg-content button:disabled{cursor:wait;opacity:.7}.fg-content [hidden]{display:none!important}.fg-content button:focus-visible,.fg-content select:focus-visible,.fg-content summary:focus-visible{outline:3px solid #f9d887;outline-offset:3px}
.fg-notice{margin:0 0 10px;line-height:1.5}.fg-scene{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4/3;border-radius:18px;background:radial-gradient(ellipse at 50% 60%,#916143,#273a3e 80%);box-shadow:inset 0 0 35px #0b1a1e77;contain:layout paint}.fg-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;filter:brightness(.86)}.fg-scene:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 65%,#102b3744)}
.fg-actors{position:absolute;inset:0;z-index:3}.fg-pair{position:absolute;left:28%;bottom:5%;width:40%;height:70%;object-fit:contain;filter:drop-shadow(0 7px 5px #18222977);opacity:1;transition:opacity .7s,transform 1.2s}.fg-walker{position:absolute;bottom:7%;width:25%;height:57%;background-size:400% 200%;background-repeat:no-repeat;filter:drop-shadow(0 6px 4px #13282d66);opacity:0}.fg-walker-oma{left:1%;background-image:url('assets/walk-oma-v64.webp')}.fg-walker-opa{right:1%;background-image:url('assets/walk-opa-v64.webp')}.fg-walker-annabell{right:-22%;bottom:6%;width:25%;height:52%;background-image:url('assets/walk-annabell-v64.webp')}.fg-annabell{position:absolute;right:3%;bottom:6%;height:62%;max-width:30%;object-fit:contain;opacity:0;transform:translateX(30%);transition:opacity .9s,transform 1.8s;filter:drop-shadow(0 5px 4px #192f3555)}
/* All walk sheets face right. Keep the leftward path before the facing flip. */
.fg-walker-opa,.fg-walker-annabell{transform:scaleX(-1)}
.fg-akira{position:absolute;left:7%;bottom:4%;width:16%;height:27%;background:url('assets/walk-akira-v64.webp') 0 0/400% 200%;filter:drop-shadow(0 4px 3px #142d3677)}.fg-package{position:absolute;z-index:5;left:37%;bottom:23%;width:24%;height:28%;opacity:0;transform:scale(.6);transition:opacity .6s,transform 1.2s}.fg-package img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.fg-package-lower{clip-path:inset(35% 0 0 0)}.fg-package-lid{clip-path:inset(0 0 65% 0);transform-origin:0 35%;transition:transform 1.8s}.fg-album{position:absolute;z-index:6;left:36%;bottom:22%;width:26%;height:27%;object-fit:contain;opacity:0;transform:translateY(12%) scale(.7);transition:opacity 1.2s,transform 1.5s;filter:drop-shadow(0 0 12px #ffdf8d)}
.fg-light{position:absolute;z-index:2;left:22%;top:15%;width:57%;height:72%;border-radius:50%;background:radial-gradient(ellipse,#ffe9a2b3,transparent 70%);opacity:0;transform:scale(.2);transition:opacity 1.8s,transform 2s}.fg-narrator{position:absolute;z-index:7;right:3%;top:3%;width:14%;aspect-ratio:1;object-fit:cover;border:2px solid #e5cd82;border-radius:50%;transition:box-shadow 1s,opacity 1s}.fg-spark{position:absolute;z-index:8;right:9%;top:10%;width:10px;height:10px;border-radius:50%;background:#fff8c8;box-shadow:0 0 12px 5px #ffe38b;opacity:0}
.fg-scene[data-phase=arrive] .fg-pair{opacity:0}.fg-scene[data-phase=arrive] .fg-walker-oma,.fg-scene[data-phase=arrive] .fg-walker-opa{opacity:1;animation:fg-walk-frame 1s steps(1) infinite,fg-together 2.6s ease forwards}.fg-scene[data-phase=arrive] .fg-walker-opa{animation-name:fg-walk-frame,fg-together-opa}
.fg-scene:is([data-phase=opening],[data-phase=narrator],[data-phase=handover]) .fg-package{opacity:1;transform:scale(1)}.fg-scene:is([data-phase=opening],[data-phase=narrator],[data-phase=handover],[data-phase=annabell],[data-phase=complete]) .fg-light{opacity:1;transform:scale(1)}.fg-scene:is([data-phase=opening],[data-phase=narrator],[data-phase=handover]) .fg-package-lid{transform:translateY(-27%) rotate(-15deg)}.fg-scene:is([data-phase=narrator],[data-phase=handover],[data-phase=annabell],[data-phase=complete]) .fg-album{opacity:1;transform:translateY(0) scale(1)}.fg-scene[data-phase=narrator] .fg-narrator{box-shadow:0 0 18px 6px #f8d97b88}.fg-scene[data-phase=handover] .fg-spark{animation:fg-handover 1.8s ease-in-out forwards}.fg-scene[data-phase=handover] .fg-walker-annabell{opacity:1;animation:fg-walk-frame 1s steps(1) infinite,fg-annabell-arrive 1.8s ease forwards}.fg-scene:is([data-phase=annabell],[data-phase=complete]) .fg-annabell{opacity:1;transform:translateX(0)}.fg-scene:is([data-phase=annabell],[data-phase=complete]) .fg-narrator{opacity:.4}.fg-scene:is([data-phase=annabell],[data-phase=complete]) .fg-pair{transform:translateX(-10%)}
.fg-caption{min-height:3em;line-height:1.55;padding:12px 14px;margin:10px 0;background:#153c43;border:1px solid #d9c58c55;border-radius:14px}.fg-controls,.fg-choices{display:flex;gap:10px;flex-wrap:wrap}.fg-controls button,.fg-choices>button{flex:1 1 180px}.fg-choices{margin-top:14px;padding-top:14px;border-top:1px solid #e2d7af55}.fg-dedication{width:100%;white-space:pre-wrap;text-align:center;font-style:italic;line-height:1.6}.fg-more{width:100%;padding:12px;border:1px solid #b9cdc455;border-radius:14px}.fg-more summary{min-height:48px;cursor:pointer;padding:10px 0}.fg-more label{display:grid;gap:6px;margin:10px 0}.fg-more button{margin:5px 6px 5px 0}.fg-moment{max-width:460px;text-align:center;color:#24483e}.fg-moment>.fg-scene{width:100%;margin:0 auto}.fg-moment>p{line-height:1.6;white-space:pre-wrap}.fg-entry{min-height:48px;padding:12px 16px}.fg-final-entry{margin-top:16px}.fg-entry-ready{animation:fg-quiet-glow 2.4s ease-out 1}
@keyframes fg-walk-frame{0%{background-position:0 0}12.5%{background-position:33.333% 0}25%{background-position:66.667% 0}37.5%{background-position:100% 0}50%{background-position:0 100%}62.5%{background-position:33.333% 100%}75%{background-position:66.667% 100%}87.5%,100%{background-position:100% 100%}}
@keyframes fg-together{to{transform:translateX(105%)}}@keyframes fg-together-opa{from{transform:translateX(0) scaleX(-1)}to{transform:translateX(-100%) scaleX(-1)}}@keyframes fg-annabell-arrive{to{right:2%}}@keyframes fg-handover{0%{opacity:1}45%{right:48%;top:62%;transform:scale(1.7)}100%{right:14%;top:35%;opacity:0;transform:scale(.8)}}@keyframes fg-quiet-glow{40%{box-shadow:0 0 18px #f7d48588}100%{box-shadow:none}}
.fg-admin{display:grid;gap:12px}.fg-admin label{display:grid;gap:6px}.fg-admin input[type=checkbox]{width:22px;height:22px}.fg-admin select,.fg-admin textarea,.fg-admin button{max-width:100%;min-height:48px}.fg-admin-pair,.fg-admin-voices,.fg-admin-cues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fg-admin [role=status]{white-space:pre-wrap;overflow-wrap:anywhere}.fg-admin-workflow{border-top:1px solid #c9d7cb;padding-top:12px}.fg-admin details{padding:12px;border:1px solid #cad7cb;border-radius:12px}
.fg-studio-workflow{min-width:0;overflow-wrap:anywhere}.fg-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fg-admin-grid label{display:grid;gap:6px;min-width:0}.fg-studio-workflow button,.fg-studio-workflow select{min-height:48px;max-width:100%;white-space:normal}.fg-studio-workflow button{margin:8px 0}.fg-studio-workflow audio{display:block;max-width:100%;margin:10px 0}.fg-studio-workflow article{padding:10px 12px;margin:12px 0;border:1px solid #b9ccbc;border-radius:12px}.fg-studio-workflow .fg-studio-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.6;margin:14px 0}.fg-studio-consent input[type=checkbox]{flex:0 0 22px;width:22px;height:22px;margin-top:3px}.fg-studio-workflow [role=status]{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:520px){.fg-panel .winter-panel-body{padding:9px}.fg-scene{aspect-ratio:1/1}.fg-pair{left:23%;width:48%;height:66%}.fg-caption{font-size:1rem}.fg-more button{width:100%;margin:5px 0}.fg-admin-pair,.fg-admin-voices,.fg-admin-cues,.fg-admin-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.fg-content *,.fg-entry{animation:none!important;transition:none!important}.fg-scene[data-phase=arrive] .fg-pair{opacity:1}.fg-scene[data-phase=arrive] .fg-walker{display:none}.fg-spark{display:none}}
