.finale-panel{margin:0 0 12px;padding:14px;border:2px dashed #e8d29d;border-radius:14px;background:#231f35;color:#fff1cb;position:relative;isolation:isolate}
.finale-world-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.finale-world-heading span{font-size:10px;letter-spacing:.12em;color:#ffafc1}.finale-world-heading h2{font-size:17px;margin:0;flex:1;min-width:180px}.finale-world-heading b{font-size:10px;color:#a7edce}.finale-taunt{font-size:13px;line-height:1.5;margin:9px 0}.finale-house-rule{font-size:12px;color:#fed17c;margin:6px 0}.finale-evidence,.finale-actions{display:flex;gap:7px;flex-wrap:wrap}.finale-evidence span{font-size:10px;border:1px solid #72677a;border-radius:8px;padding:5px 7px;color:#bcb3c6}.finale-evidence .found{color:#b7ffcf;border-color:#88c8a1}.finale-actions{margin-top:10px}.finale-actions button{min-height:44px;flex:1 1 150px;padding:9px 12px;font-size:12px;white-space:normal}.finale-marker-button{background:#f3dfaf!important;color:#211e31!important}.finale-hint{font-size:11px;color:#c7c2d7;line-height:1.5;margin:9px 0 0}.finale-dimension{overflow:hidden;perspective:1000px}.finale-dimension .arena-art{object-fit:cover;opacity:.72}.finale-dimension::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 90px #251332;pointer-events:none;border:8px dashed #e1c7ff33}.finale-scribble-art{display:block;width:100%;height:100%;object-fit:contain;background:#f5ebd0}.finale-workshop-overlay{z-index:1000;background:#120c24dd;padding:12px;align-items:center;justify-content:center}.finale-workshop{width:min(100%,1040px);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;background:#f0e6ca!important;color:#272235!important;padding:18px!important;border:3px solid #292238;overflow:hidden}.finale-workshop header{position:relative;padding-right:42px}.finale-workshop header span{font-size:10px;letter-spacing:.12em}.finale-workshop h2{font-size:24px;margin:6px 0}.finale-workshop header button{position:absolute;right:0;top:0;width:44px;height:44px;font-size:24px}.finale-workshop p{font-size:12px;line-height:1.5}.finale-workshop-scroll{overflow:auto;overscroll-behavior:contain;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:4px 4px 12px}.finale-workshop h3{font-size:17px;margin:8px 0}.finale-workshop label{display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:5px;margin:10px 0}.finale-workshop input,.finale-workshop select{min-height:44px;width:100%;box-sizing:border-box;background:#fff9e9!important;color:#252136!important;border:2px solid #a99a83;border-radius:8px;padding:8px;font:inherit}.finale-workshop button{min-height:44px;padding:10px 12px;white-space:normal;background:#342c48;color:#fff4da;border-radius:8px;border:1px solid #6b5c7f;font-weight:700;cursor:pointer}.finale-workshop button:disabled{opacity:.45;cursor:default}.finale-number-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.finale-drawing{aspect-ratio:1;max-width:300px;width:100%;touch-action:none;cursor:crosshair;border:2px solid #252136;border-radius:8px;overflow:hidden}.finale-drawing-tools{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.finale-drawing-tools button{font-size:11px;flex:1}.finale-rule-buttons{display:grid;gap:8px}.finale-workshop .finale-win-rule{background:#a12d55;border:2px dashed #ffdcbd}.finale-workshop-error{color:#9e244b;min-height:18px;margin:4px 0 0!important}.finale-workshop :focus-visible{outline:3px solid #b32a63;outline-offset:3px}
@media(max-width:760px){.finale-workshop-scroll{grid-template-columns:1fr}.finale-workshop{padding:12px!important}.finale-workshop h2{font-size:20px}.finale-panel{padding:10px}.finale-actions button{flex-basis:130px}.finale-taunt{font-size:12px}.finale-workshop-overlay{padding:6px}.finale-workshop{max-height:calc(100dvh - 12px)}}
@media(max-height:440px){.finale-workshop h2{font-size:18px}.finale-workshop>p{margin:4px 0}.finale-workshop-scroll{grid-template-columns:repeat(3,minmax(210px,1fr));overflow:auto}.finale-panel{padding:8px}.finale-taunt{max-height:64px;overflow:auto}}
@media(prefers-reduced-motion:reduce){.finale-dimension{animation:none!important;transform:none!important}}
.finale-panel{padding:0!important;margin:0 0 5px;flex:0 0 auto;min-height:44px;z-index:25}.finale-panel>summary{cursor:pointer;list-style:none;padding:7px 10px;min-height:44px}.finale-panel>summary::-webkit-details-marker{display:none}.finale-panel>summary h2{font-size:14px;min-width:130px}.finale-panel>summary span{font-size:9px}.finale-panel>summary b{font-size:9px}.finale-panel>summary em{font-style:normal;font-size:10px;color:#edce9d;white-space:nowrap}.finale-panel .finale-body{position:absolute;top:calc(100% - 1px);left:-2px;right:-2px;padding:12px;background:#231f35;border:2px dashed #e8d29d;border-top:0;border-radius:0 0 14px 14px;max-height:min(65dvh,430px);overflow:auto;overscroll-behavior:contain;box-shadow:0 14px 35px #080715cc}.finale-panel[open]>summary{background:#393149;border-radius:12px 12px 0 0}
.finale-marker-edited .finale-old-value{font-size:.65em;color:#f9829d;text-decoration-thickness:3px;margin-right:3px}.finale-marker-edited .finale-new-value{display:inline-block;font-family:'Segoe Print','Comic Sans MS',cursive;font-weight:900;transform:rotate(-6deg);color:#fff5bf;text-shadow:1px 1px #21172d}.finale-marker-edited .cost{width:auto;min-width:26px;padding-inline:4px}.finale-marker-edited{outline:2px dashed #f1cd8e;outline-offset:-3px}.finale-active-rules p{font-size:11px;color:#baffd4;margin:5px 0}
.finale-dimension{opacity:1!important}.finale-dimension .arena-art{opacity:.9}.arena:has(.finale-dimension) .unit-slot{background:rgba(14,19,33,.82)}.arena:has(.finale-dimension) .support-slot{background:rgba(14,19,33,.88)}

/* Folded sheets, ink and wax replace the usual glass panels in the finale. */
.finale-panel,.finale-panel .finale-body,.finale-workshop,.finale-verdict,
body:has(.finale-panel) .overlay .modal,
body:has(.finale-panel) .victory-stage,
body:has(.finale-panel) .battle-sidebar .panel{
 --paper:#f0dfb5;--ink:#392c25;
 background-color:var(--paper)!important;
 background-image:radial-gradient(ellipse at 2% 12%,#ae773c38,transparent 45%),radial-gradient(ellipse at 98% 90%,#92622c40,transparent 42%),repeating-linear-gradient(0deg,#68432305 0 1px,transparent 1px 4px)!important;
 color:var(--ink)!important;border:2px solid #8b6840!important;border-radius:3px 12px 4px 9px!important;
 box-shadow:inset 0 0 22px #9c622b35,0 8px 22px #120d2199;
 font-family:Georgia,'Times New Roman',serif;
}
.finale-panel>summary{color:#392c25;outline-offset:3px}.finale-panel[open]>summary{background:#bd914e24;border-radius:0;border-bottom:1px solid #86623b}
.finale-world-heading span,.finale-world-heading b,.finale-panel>summary em,.finale-house-rule,.finale-hint,.finale-active-rules p{color:#61452e}
.finale-evidence .found{color:#364d36;border:1px dashed #506049;background:#fbf0cf66;border-radius:2px;transform:rotate(-1deg)}
.finale-panel button,.finale-workshop button,.finale-verdict button,
body:has(.finale-panel) .overlay .modal button{
 min-height:44px;background:#f8ebc9!important;color:#3d2c23!important;border:2px solid #6f4b30!important;border-radius:3px 7px 2px 5px!important;
 font-family:'Segoe Print','Comic Sans MS',cursive;font-weight:700;box-shadow:2px 3px 0 #634c3545;
}
.finale-panel button:hover,.finale-workshop button:hover,.finale-verdict button:hover{background:#ead29c!important}
.finale-panel button:disabled{opacity:.45}.finale-workshop h2,.finale-workshop h3,.finale-verdict h2{font-family:Georgia,'Times New Roman',serif;color:#392c25}
.finale-workshop h3{border-bottom:2px solid #a98758;padding-bottom:6px}.finale-workshop input,.finale-workshop select{border:0;border-bottom:2px solid #8e704c;border-radius:1px;background:#fff6dc!important;font-family:'Segoe Print','Comic Sans MS',cursive}
.finale-workshop-scroll section{padding:0 8px;border-left:1px dashed #9c7b4f}.finale-drawing{box-shadow:3px 4px 0 #926c3b30;transform:rotate(-.6deg);background:#fff5d9}
.finale-panel :focus-visible{outline:3px solid #8d3529;outline-offset:3px}
body:has(.finale-panel) .overlay .modal p,body:has(.finale-panel) .overlay .modal .help,body:has(.finale-panel) .battle-sidebar p{color:#59412e}
body:has(.finale-panel) .victory-stage{padding:20px;max-height:calc(100dvh - 24px);overflow:auto}
body:has(.finale-panel) .victory-stage h1,body:has(.finale-panel) .victory-stage p,body:has(.finale-panel) .victory-stage b{color:#61412c;text-shadow:none}
body:has(.finale-panel) .victory-continue{background:#f8ebc9;color:#3d2c23;border:2px solid #6f4b30;font-family:'Segoe Print','Comic Sans MS',cursive}


/* Full illustrated finale spread; the artwork carries the defeat, the paper carries the dialogue. */
.finale-verdict-overlay{z-index:1100;align-items:center;justify-content:center;padding:18px;background:#100e1ded;backdrop-filter:blur(8px)}
body .finale-verdict-overlay .modal.finale-verdict{display:grid;grid-template-columns:1.15fr 1fr;width:min(1040px,100%);max-height:calc(100dvh - 36px);padding:0!important;overflow:auto;text-align:left;background:#251633!important;background-image:none!important;border:2px solid #d1b77b!important;border-radius:10px!important;box-shadow:0 24px 80px #06060dc9;isolation:isolate}
.finale-verdict-scene{position:relative;margin:0;min-height:540px;overflow:hidden;background:#332144}
.finale-verdict-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:47% 48%;filter:none}
.finale-verdict-scene:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,#150d25f2);pointer-events:none}
.finale-verdict-scene figcaption{position:absolute;left:26px;right:24px;bottom:28px;z-index:1;display:grid;gap:9px;color:#fff2cc;text-shadow:0 2px 10px #08030d}
.finale-verdict-scene figcaption span{font:700 10px/1.4 system-ui;letter-spacing:.23em;color:#f3ce88}
.finale-verdict-scene figcaption strong{font:900 clamp(28px,4vw,45px)/1.04 Georgia,serif;text-wrap:balance}
.finale-verdict-scene figcaption b{font:700 11px/1.4 system-ui;letter-spacing:.12em}
.finale-verdict-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:36px 30px 26px;background:#f2e5c5;position:relative;border-left:2px solid #c5a46a}
.finale-verdict-copy:before{content:"";position:absolute;inset:10px;border:1px solid #b99a6355;pointer-events:none}
.finale-verdict-copy .finale-verdict-seal{align-self:flex-start;font:700 9px/1.5 system-ui;letter-spacing:.14em;border:0;border-bottom:2px solid #ab7c46;transform:none;padding:0 0 8px;color:#775039}
.finale-verdict-copy h2{font:900 clamp(27px,4vw,42px)/1.08 Georgia,serif!important;color:#352435!important;text-align:left;margin:28px 0 22px;letter-spacing:-.035em}
.finale-verdict-dialogue{border-left:3px solid #b06b43;padding-left:16px;min-height:135px;margin-bottom:24px}
.finale-verdict-dialogue .finale-verdict-speaker{font:800 11px/1.4 system-ui;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px!important;color:#87442f!important}
.finale-verdict-dialogue .finale-verdict-line{font:500 17px/1.65 system-ui!important;text-align:left;min-height:0!important;margin:0!important;color:#3f3340!important;text-wrap:pretty}
.finale-verdict-copy footer{margin-top:auto;position:relative}
.finale-verdict-progress{display:flex;align-items:center;gap:6px;margin:0 0 13px}
.finale-verdict-progress i{width:22px;height:3px;background:#c8b58d}.finale-verdict-progress .is-read{background:#87442f}
.finale-verdict-progress small{font:700 10px/1 system-ui;letter-spacing:.1em;margin:0 0 0 auto;color:#795c42}
.finale-verdict-overlay .modal.finale-verdict .finale-verdict-copy button{width:100%;padding:13px 15px;min-height:48px;background:#74372f!important;color:#fff1ca!important;border:1px solid #4e2a28!important;border-radius:4px!important;box-shadow:0 3px 0 #40242640;font:700 14px/1.3 system-ui;letter-spacing:.01em;text-align:center}
.finale-verdict-overlay .modal.finale-verdict .finale-verdict-copy button:hover{background:#914a38!important}.finale-verdict-copy button:focus-visible{outline:3px solid #803c7f;outline-offset:4px}
@media(max-width:620px) and (min-height:441px){
 .finale-verdict-overlay{padding:8px}body .finale-verdict-overlay .modal.finale-verdict{grid-template-columns:1fr;max-height:calc(100dvh - 16px);width:min(460px,100%)}
 .finale-verdict-scene{min-height:0;height:clamp(170px,30dvh,280px)}.finale-verdict-scene>img{object-position:50% 34%}.finale-verdict-scene figcaption{left:18px;bottom:16px;gap:5px}.finale-verdict-scene figcaption strong{font-size:29px}.finale-verdict-scene figcaption span{font-size:8px}
 .finale-verdict-copy{padding:22px 20px 20px;border-left:0;border-top:2px solid #c5a46a}.finale-verdict-copy h2{font-size:28px!important;margin:15px 0}.finale-verdict-copy h2 br{display:none}.finale-verdict-dialogue{min-height:0;margin-bottom:20px;padding-left:12px}.finale-verdict-dialogue .finale-verdict-line{font-size:15px!important;line-height:1.55!important}
}
@media(max-height:440px){
 .finale-verdict-overlay{padding:8px}body .finale-verdict-overlay .modal.finale-verdict{max-height:calc(100dvh - 16px);grid-template-columns:1fr 1.1fr;min-height:0}
 .finale-verdict-scene{min-height:0}.finale-verdict-scene figcaption{left:16px;bottom:18px;gap:5px}.finale-verdict-scene figcaption strong{font-size:27px}.finale-verdict-scene figcaption span{font-size:8px}
 .finale-verdict-copy{padding:20px}.finale-verdict-copy h2{font-size:26px!important;margin:14px 0}.finale-verdict-copy h2 br{display:none}.finale-verdict-dialogue{min-height:0;margin-bottom:15px;padding-left:12px}.finale-verdict-dialogue .finale-verdict-line{font-size:14px!important;line-height:1.5!important}.finale-verdict-dialogue .finale-verdict-speaker{margin-bottom:6px!important}
}
