/* The final scene is a tabletop. The objects come from this playthrough. */
.ending-table {
  --folio-ink:#41372a;--folio-paper:#f6ecd4;--folio-line:#b4a07a;
  display:block;padding:0;min-height:650px;isolation:isolate;background:#c4ae80;
}
.ending-table-art { position:absolute;inset:0;z-index:-3;width:100%;height:100%;max-width:none;object-fit:cover; }
.ending-table::before { content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,#5d49251a);box-shadow:inset 0 0 100px #634b3026; }
.ending-table-heading { position:absolute;left:4%;top:4%;color:#56442b;font-family:var(--serif); }
.ending-table-heading>span { font-size:16px;letter-spacing:5px; }
.ending-table-heading>p { margin-top:10px;font-size:32px;line-height:1.35;letter-spacing:3px; }
.ending-table-tools { position:absolute;right:25px;top:25px;z-index:8; }
.ending-keepsakes { position:absolute;inset:0;z-index:1;pointer-events:none; }
.ending-object { position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:25%;max-width:420px;padding:0;border:0;background:none;pointer-events:auto;transition:transform .25s; }
.ending-object:hover { transform:translateY(-5px) rotate(var(--tilt,0deg)); }
.ending-object:focus-visible { outline:2px solid #873c27;outline-offset:5px; }
.keepsake-art { width:100%;height:100%;max-height:38svh;object-fit:contain;filter:drop-shadow(2px 6px 3px #543c2626); }
.keepsake-0 { left:.5%;top:21%;--tilt:-9deg;transform:rotate(-9deg); }
.keepsake-1 { right:.3%;top:17%;--tilt:8deg;transform:rotate(8deg); }
.keepsake-2 { left:2%;bottom:1%;--tilt:5deg;transform:rotate(5deg); }
.keepsake-0 .keepsake-art,.keepsake-2 .keepsake-art { max-height:32svh; }
.keepsake-caption { display:flex;align-items:center;gap:9px;max-width:90%;padding:5px 12px;color:#523c27;background:#f8edd4ed;border:1px solid #b09a73;box-shadow:2px 3px 0 #5c48201c;font:20px/1.45 var(--serif); }
.keepsake-caption small { font-size:14px;color:#8a402b;white-space:nowrap; }
.ending-folio { position:absolute;z-index:3;top:30px;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;width:54%;max-width:790px;min-width:520px;padding:26px 32px 15px;color:var(--folio-ink);background:linear-gradient(95deg,#e6d8b8,#fbf2db 4%,#f8edd5 95%,#e5d4b0);border:1px solid #b49c74;border-top:5px solid #96774d;border-bottom:5px solid #96774d;box-shadow:0 9px 20px #4c382c38,inset 0 0 0 6px #eedfc154,inset 0 0 0 7px #bfa88255; }
.ending-folio::before,.ending-folio::after { content:'';position:absolute;left:-12px;right:-12px;height:8px;background:linear-gradient(#a2865c,#d4b987 40%,#8d6e45);border:1px solid #866940;border-radius:5px;box-shadow:0 3px 3px #57402d26; }
.ending-folio::before { top:-8px; }.ending-folio::after { bottom:-8px; }
.ending-folio-heading { position:relative;flex:none;padding-right:38px; }
.ending-folio-heading>p { font:16px/1.5 var(--serif);letter-spacing:2px;color:#89704f; }
.ending-folio-heading h1 { font:38px/1.3 var(--serif);letter-spacing:1px;margin-top:6px; }
.ending-seal { position:absolute;right:0;top:0;padding:5px;border:2px solid #9c492f;color:#9c492f;writing-mode:vertical-rl;font:21px/1.1 var(--serif);transform:rotate(4deg); }
.ending-tabs { display:flex;gap:20px;border-bottom:1px solid var(--folio-line);margin-top:14px;flex:none; }
.folio-tab { position:relative;padding:9px 5px 10px;border:0;background:none;color:#806b4d;font:23px/1.3 var(--serif);min-height:46px; }
.folio-tab.is-active { color:#8f3927; }.folio-tab.is-active::after { content:'';position:absolute;bottom:-2px;left:0;right:0;height:3px;background:#9b4830; }
.ending-pages { flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a58d62 transparent;padding:16px 7px 10px 0; }
.ending-pages:focus-visible { outline:2px solid #8a4834;outline-offset:4px; }
.ending-intro { color:#796244;font:17px/1.65 var(--serif);margin-bottom:14px; }
.ending-record { padding:0 0 15px;margin-bottom:14px;border-bottom:1px solid #c4ae805e;scroll-margin-top:8px;outline-offset:3px; }
.ending-record.record-focused { background:#e8d6ae52;outline:1px solid #af8b58; }
.record-heading { display:flex;align-items:baseline;gap:12px;margin-bottom:7px; }
.record-heading .record-number { flex:none;position:static;font-size:23px;line-height:1.2;color:#96432b; }
.record-heading h3 { font:25px/1.35 var(--serif); }
.ending-transfer { display:flex;flex-wrap:wrap;gap:5px 12px;width:fit-content;padding:4px 9px;border:1px solid #d0ba91;background:#eee0c2;color:#82543b;font:14px/1.45 var(--body); }
.ending-transfer span { color:#675235; }
.ending-choice { margin-top:8px;font:17px/1.65 var(--body);color:#4b4436; }
.ending-fate { margin-top:5px;font:17px/1.65 var(--serif);color:#7a6044; }
.ending-close { font:17px/1.7 var(--serif);color:#88704e;padding:0 0 6px; }
.ending-folio-footer { flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;border-top:1px solid #b8a176;padding-top:11px; }
.ending-folio-footer .seal-button { font-size:20px;min-height:44px;padding:9px 20px; }
.ending-folio-footer .text-button { font-size:17px; }
.ending-table-note { position:absolute;z-index:2;right:3%;bottom:4%;width:19%;color:#6b573b;font:17px/1.7 var(--serif);text-align:center;padding:6px;background:#f5e5cba8; }
.ending-history-intro { font:18px/1.7 var(--serif);margin-bottom:20px;color:#5b4934; }
.ending-history { padding-bottom:20px;margin-bottom:18px;border-bottom:1px solid #c4ae8077; }
.history-stage { display:inline-block;padding:3px 8px;border:1px solid #bca071;background:#edddbb;color:#8d422b;font:15px/1.5 var(--serif); }
.ending-history h3 { font:24px/1.5 var(--serif);margin:8px 0; }
.ending-history p { font:17px/1.85 var(--body);color:#5b4a36; }
.ending-history a { display:inline-block;font:14px/1.7 var(--body);margin-top:10px; }
.ending-historical-note { padding:10px 12px;border:1px solid #c8b38b;background:#eee0c3;font:15px/1.8 var(--body);color:#6a5337; }
@media (min-width:1650px) { .ending-folio { padding:30px 40px 22px; }.ending-pages { padding-top:20px; }.ending-record { padding-bottom:22px;margin-bottom:20px; }.ending-choice,.ending-fate { font-size:19px; }.ending-intro { font-size:19px; }.record-heading h3 { font-size:28px; } }
@media (max-width:1000px) and (min-width:651px) { .ending-folio { width:58%;min-width:460px;padding:20px 24px 12px; }.ending-folio-heading h1 { font-size:32px; }.ending-object { width:23%; }.keepsake-caption { font-size:17px;padding:4px 8px;gap:5px; }.ending-table-heading { left:3%; }.ending-table-heading>p { font-size:27px; }.ending-table-note { font-size:15px;width:18%; } }
@media (max-width:650px) {
  .ending-table { height:100svh;min-height:700px; }
  .ending-table-art { object-position:48% center; }
  .ending-table-heading { top:15px;left:17px; }.ending-table-heading>span { font-size:14px;letter-spacing:2px; }.ending-table-heading>p { margin-top:3px;font-size:22px;line-height:1.2;letter-spacing:1px; }.ending-table-heading br { display:none; }
  .ending-table-tools { top:15px;right:15px; }.ending-table-tools [data-action="fullscreen"] { display:none; }
  .ending-keepsakes { top:65px;bottom:auto;height:125px;display:flex;align-items:flex-start;justify-content:space-evenly; }
  .ending-object { position:relative;top:auto;left:auto;right:auto;bottom:auto;width:31%;height:116px;transform:rotate(var(--tilt)); }
  .keepsake-art { height:89px;width:100%; }
  .keepsake-caption { font-size:14px;line-height:1.4;padding:3px 5px;max-width:100%;gap:0;white-space:nowrap; }.keepsake-caption small { display:none; }
  .ending-folio { top:206px;bottom:32px;width:calc(100% - 34px);min-width:0;max-width:none;padding:17px 18px 10px; }
  .ending-folio-heading { padding-right:30px; }.ending-folio-heading>p { font-size:13px;letter-spacing:1px; }.ending-folio-heading h1 { font-size:27px;letter-spacing:0;margin-top:3px; }.ending-seal { font-size:17px;padding:4px; }
  .ending-tabs { margin-top:7px;gap:22px; }.folio-tab { font-size:20px;padding:7px 2px;min-height:42px; }
  .ending-pages { padding-top:12px; }.ending-intro { font-size:16px;margin-bottom:14px; }
  .record-heading h3 { font-size:22px; }.record-heading { gap:8px; }.record-heading .record-number { font-size:20px; }
  .ending-transfer { font-size:13px;padding:4px 6px;gap:3px 8px; }.ending-choice,.ending-fate { font-size:16px; }.ending-close { font-size:16px; }
  .ending-folio-footer { gap:5px;padding-top:8px; }.ending-folio-footer .seal-button { font-size:17px;padding:8px 12px;letter-spacing:0; }.ending-folio-footer .text-button { font-size:15px;min-height:42px; }
  .ending-table-note { bottom:5px;left:12px;right:12px;width:auto;background:none;font-size:12px;padding:0; }
  .ending-history-intro { font-size:17px; }.ending-history h3 { font-size:22px; }.ending-history p { font-size:16px; }.ending-history a { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) { .ending-object { transition:none; } }
