/* New art layer; inherited rules, hitboxes and progress remain intact. */
.at-home #v4-ui{background:linear-gradient(#062d26bd,#062d26e8),url('assets/final/arena.webp') center/cover}
.final-menu{padding:0;display:block;inset:auto;left:50%;top:50%;width:min(100vw,calc(var(--view-h,100vh)*9/16));height:min(var(--view-h,100vh),calc(100vw*16/9));transform:translate(-50%,-50%);container-type:inline-size;background:url('assets/final/menu.webp') center/100% 100% no-repeat;animation:none}
.final-menu button{position:absolute;margin:0;border:0;box-shadow:none;min-height:0;padding:0;letter-spacing:0;background:transparent;text-shadow:0 1px #15372c;color:#fff0ce;font-weight:900;font-family:Arial,sans-serif;font-size:clamp(11px,3.1cqw,19px);border-radius:2cqw}
.final-menu button:focus-visible{outline:3px solid #fff6cf;outline-offset:2px}
.final-menu .fm-wallet{left:88%;top:2.1%;width:6%;height:2.6%;background:transparent;font-size:clamp(13px,3.9cqw,23px)}
.fm-progress{position:absolute;left:14%;top:54.1%;width:72%;display:flex;color:#fff0ce;padding:0 1%;font-size:clamp(14px,4cqw,24px)}.fm-progress b:last-child{position:absolute;left:82%;top:0}
.final-menu .fm-play{left:13%;top:62%;width:74%;height:8.5%;background:transparent;color:#fff8de;text-shadow:2px 2px #79501f,-1px -1px #79501f;font-size:clamp(25px,10cqw,60px)}.fm-play span{display:block;width:82%;text-align:center}.final-menu .fm-play.continuing{font-size:clamp(20px,6cqw,36px)}
.final-menu .fm-map,.final-menu .fm-powers,.final-menu .fm-sandbox,.final-menu .fm-settings{width:40%;height:5.7%;background:transparent}.fm-secondary span{position:absolute;left:28%;right:2%;top:0;height:100%;display:flex;align-items:center;justify-content:center}
.fm-map{left:10%;top:73.5%}.fm-powers{left:51%;top:73.5%}.fm-sandbox{left:10%;top:81%}.fm-settings{left:51%;top:81%}
.final-menu .fm-help{left:33%;top:88%;width:34%;height:2.4%;background:transparent;font-size:clamp(11px,2.9cqw,16px)}
body.final-arena #objectives{color:#fff4d4}body.final-arena .objective{background:#0d3e34ed;border-color:#d5b66c99}
body.final-arena #game-controls button{background:linear-gradient(#285e49,#103e34);border:1px solid #e5bf6c;color:#fff5d6}
body.final-arena .power-slot{background:linear-gradient(#1c5640,#0b3a31);border:1px solid #e5bf6c;color:#fff5d6}
.final-tabs{display:flex;gap:8px;position:sticky;top:0;z-index:2;background:#123e32;padding:8px 0}.final-tabs button{flex:1;border:1px solid #e1bd65;background:#144c3c;color:#fff0ce;border-radius:12px;padding:12px;font-weight:900}.final-tabs button[aria-pressed=true]{background:linear-gradient(#ffe16b,#ffc239);color:#3c2c17}
#collection-dialog:has(.final-tabs){width:min(94vw,600px);max-height:90vh;padding:16px;background:#0b352d;color:#fff0ce;border:2px solid #dfb861;border-radius:20px;overflow:auto}
.final-hammers h2{text-align:center;font-size:clamp(16px,4vw,24px)}.hammer-note{font-size:13px;color:#bdd7ca;line-height:1.4;text-align:center}.hammer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hammer-card{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #5b9a80;border-radius:14px;background:linear-gradient(135deg,#154a3c,#082f29);color:#fff0ce;padding:10px;cursor:pointer;min-width:0}.hammer-card img{width:100%;height:clamp(95px,20vh,150px);object-fit:contain}.hammer-card strong{font-size:15px}.hammer-card span{font-size:12px;background:#f4c75d;color:#382c17;border-radius:8px;padding:7px;width:100%;font-weight:bold}.hammer-card.equipped{border:2px solid #ffd56c}.hammer-card:disabled{cursor:default;opacity:.64}.hammer-card:disabled span{background:#52665e;color:#e1e7df}.final-hammers[hidden]{display:none}
.final-wait-outro{opacity:0;pointer-events:none}.final-hammer-done{display:block;width:100%;margin-top:14px;padding:12px;border:1px solid #e5bd66;border-radius:12px;background:#235441;color:#fff0ce;font-weight:900}
@media(max-height:520px){.hammer-card img{height:85px}.hammer-grid{gap:6px}}

/* The painted grove is shared by every submenu, including training. */
.v4-screen.final-screen{isolation:isolate;background:linear-gradient(180deg,#092e2c55,#082e27b8 36%,#062e28f5 90%),url('assets/final/arena.webp') center/cover;border:1px solid #e8c77870;box-shadow:inset 0 0 0 4px #0c392d55;display:flex;flex-direction:column;padding:4cqw;gap:2cqw;overflow:hidden;justify-content:flex-start;color:#fff1cc}
.final-screen-content{display:flex;flex-direction:column;gap:2.5cqw;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:2cqw 1cqw 3cqw;scrollbar-width:thin;scrollbar-color:#d7b976 #103b30}
.final-screen-content>*{flex-shrink:0}.final-screen [hidden],.final-dialog [hidden]{display:none!important}
.final-screen .forest-life,.final-screen .canopy,.final-screen .fireflies{display:none}
.final-screen .page-title,.final-screen .result-title{color:#fff1c4;text-shadow:0 .6cqw #9b5a23,0 1cqw 0 #073026,0 2cqw 5cqw #001d1a99;letter-spacing:.04em;margin:1cqw 0;font-family:Impact,'Arial Black',sans-serif;line-height:1.1}
.final-screen .small-cap,.final-screen .result-kicker{color:#ffe2a1;text-shadow:0 2px 4px #001d1a;letter-spacing:.3em}
.final-screen .page-sub{color:#f0ecd5;line-height:1.55;margin:1cqw 0;text-shadow:0 1px 3px #001b18}
.final-screen .guide-card,.final-screen .sandbox-form,.final-screen .reward-box,.final-screen .intro-rule{background:linear-gradient(135deg,#174b3af5,#092f29f5);border:1px solid #e9c57388;box-shadow:inset 0 1px #fff3c51c,0 1cqw 3cqw #001d1d55;border-radius:3cqw}
.final-screen button:not(.map-node):not(.text-button):not(.primary):not(.final-back-menu){background:linear-gradient(#376c4e,#174335);border-color:#d7bc7580;box-shadow:0 .6cqw #062c25,inset 0 1px #e7eeb22e;color:#fff1cc}
.final-screen .primary{background:linear-gradient(#ffe88a,#ffc641 70%,#f7ae2e);border-color:#fff1ae;box-shadow:0 1cqw #986024,0 1.5cqw 4cqw #001d1b66;color:#4d301a;animation:none}
.final-screen .primary:after{animation-duration:4.5s}
.final-screen .text-button{color:#f4ddac;text-decoration:underline;text-underline-offset:3px;font-size:2.6cqw}
.final-nav{position:relative;flex:0 0 auto;z-index:5;margin:0;padding:10px 0 max(2px,env(safe-area-inset-bottom));border-top:1px solid #e8c57366;background:linear-gradient(#103d32ee,#0a302afc);box-shadow:0 -10px 20px #0b322c66}
.final-screen .final-nav{padding-top:2cqw;border-radius:0 0 2cqw 2cqw}
.final-nav .final-back-menu,#lesson .final-back-menu{display:block;position:relative;width:100%;min-height:46px;margin:0;border:1px solid #f1cd81;background:linear-gradient(#3b7150,#183e32);border-radius:12px;box-shadow:0 3px #051f1a,inset 0 1px #ffefbc50;color:#fff0c8;font-family:'Arial Black',Arial,sans-serif;font-size:clamp(12px,2.9cqw,16px);font-weight:900;letter-spacing:.08em;text-shadow:0 2px #163a2a;cursor:pointer;touch-action:manipulation;padding:10px 16px}
.final-nav .final-back-menu:hover{filter:brightness(1.2);transform:none}.final-nav .final-back-menu:active{filter:brightness(1.35);transform:translateY(2px)}
.final-nav .final-back-menu:focus-visible{outline:3px solid #fff4ca;outline-offset:-5px}
.final-screen.result-screen{text-align:center}.final-screen .result-actor{height:25cqw;min-height:90px;max-height:150px;object-fit:contain;filter:drop-shadow(0 5px 6px #001e2099)}
.final-screen .result-stars{font-size:10cqw;filter:drop-shadow(0 0 10px #ffc94966)}
.final-screen .result-stars span:not(.empty){animation:final-star-pop .5s cubic-bezier(.2,1.5,.5,1) both}
.final-screen .result-stars span:nth-child(2){animation-delay:.13s}.final-screen .result-stars span:nth-child(3){animation-delay:.26s}
.final-screen .result-actions{margin-top:0}.final-screen .result-meta{color:#e7e7c7}
.final-screen .skip-animation{position:static;align-self:flex-end;padding:1cqw 2cqw;min-height:6cqw!important;flex-shrink:0}
.final-screen .reward-box{padding:3cqw}.final-screen .reward-box strong{font-size:4.8cqw}
.final-screen.map-screen .final-screen-content{overflow:hidden;gap:1.5cqw}.final-screen.map-screen .map-scroll{flex:1;min-height:0;flex-shrink:1;margin:0;padding:3cqw}
.final-screen .map-land{background:radial-gradient(ellipse at 20% 30%,#f8d97422,transparent 35%),radial-gradient(ellipse at 85% 65%,#5fae6333,transparent 40%)}
.final-screen .map-node.open{background:radial-gradient(circle at 35% 25%,#d4f4a1,#70b956 60%,#397948);border-color:#f4d887;color:#123d2d;box-shadow:0 1cqw #092c21,inset 0 1px #fff5ca}
.final-screen .map-node.current{outline-color:#ffd062;filter:drop-shadow(0 0 8px #ffc95077)}
.final-screen .map-node:disabled{opacity:.68;background:linear-gradient(#5d7460,#304b3e);border-color:#6d8260;color:#c6caa5}
.final-screen .map-foot{justify-content:center;text-align:center;padding:1cqw 0}.final-screen .map-foot span{font-size:2.5cqw}
.final-screen.quick-screen img{height:27cqw;min-height:80px;object-fit:contain;filter:drop-shadow(0 5px 8px #00251e)}
.final-screen.quick-screen .final-screen-content,.final-screen.playground-screen .final-screen-content{padding-top:5cqw}
.final-screen .sandbox-form{padding:3cqw}.final-screen .sandbox-form select{border-color:#d3bb7688;background:#0b332d;color:#fff1cd}
.final-screen .demo-powers input,.final-dialog input{accent-color:#ffd15d}

/* Keep the scroll area and the bottom navigation separate, even at 320px. */
dialog.final-dialog[open]{display:flex;flex-direction:column;gap:12px;overflow:hidden;isolation:isolate;width:min(94vw,580px);max-height:calc(var(--view-h,100vh) - 24px);padding:16px;border:2px solid #d9b56b!important;border-radius:22px;background:linear-gradient(#073329d9,#082c27f5),url('assets/final/arena.webp') center/cover!important;color:#fff0cf;box-shadow:0 25px 100px #001817cc,inset 0 0 0 4px #193d2b}
dialog.final-dialog::backdrop{background:#041b1be0;backdrop-filter:blur(5px)}
.final-dialog-content{overflow:auto;overscroll-behavior:contain;flex:1 1 auto;min-height:0;padding:4px 6px 10px;scrollbar-width:thin;scrollbar-color:#d6b66d #123c32}
.final-dialog h2{font-family:Impact,'Arial Black',sans-serif;font-size:clamp(24px,5vw,32px);letter-spacing:.04em;color:#ffe4a5;text-shadow:0 3px #543a1b;margin:4px 0 14px}
.final-dialog h3{color:#ffe2a0}.final-dialog p{color:#e0e5cd;font-size:14px;line-height:1.6}
.final-dialog .setting-row{border-top-color:#e9ca7238;padding:16px 12px;background:#123f333d;border-radius:8px;font-size:14px;margin:4px 0;gap:10px}
.final-dialog .setting-row output{font-weight:900;color:#ffe2a0}.final-dialog input[type=range]{min-height:34px;cursor:pointer}
.final-dialog input[type=checkbox]{width:20px;height:20px}.final-dialog .settings-bottom{margin:16px 0}
.final-dialog .graphics-settings,.final-dialog .reset-progress-section{padding:18px 10px;border-top:1px solid #e9ca7244}
.final-dialog select{width:100%;border:1px solid #c4ac6f;background:#103b2f;color:#fff2d0;border-radius:12px;padding:12px;font-size:14px;min-height:48px}
.final-dialog button{min-height:44px;letter-spacing:.03em;border:1px solid #ffe9a366;box-shadow:0 3px #473519;background:linear-gradient(#ffe58a,#ffc546);color:#48311c}
.final-dialog .reward-box{background:linear-gradient(135deg,#28563ded,#103a30ed);border:1px solid #d9bd7588;padding:20px;border-radius:16px;margin:12px 0}
.final-dialog .reward-box strong{font-size:clamp(25px,6vw,36px);line-height:1.2;margin-bottom:8px}.final-dialog .reward-box p{margin:10px 0 16px}
.final-dialog .power-card{border:1px solid #a6bb7044;background:linear-gradient(120deg,#234e3bd9,#0b322bd9);border-radius:14px;margin:10px 0;padding:12px;gap:12px}
.final-dialog .power-medallion{background:radial-gradient(circle at 35% 25%,#547c57,#123b32);border-color:#e5c577;box-shadow:0 0 16px #dfcb4b22;color:#fce09c}.final-dialog .power-card h3{font-size:16px}.final-dialog .power-card small{font-size:11px}
.final-dialog .final-tabs{margin:0 0 12px;background:#10382ff5;top:-4px;padding:6px 0}
.final-dialog .final-tabs button{background:linear-gradient(#315b42,#173e31);color:#ffeac0;box-shadow:0 3px #082a23}
.final-dialog .final-tabs button[aria-pressed=true]{background:linear-gradient(#ffe594,#ffc849);color:#48311c}
.final-dialog .hammer-card{background:radial-gradient(ellipse at 50% 25%,#4a705646,#082d27e8);border-color:#c7ad6b66;color:#ffe9bd;box-shadow:0 4px #06251e;min-height:0}
.final-dialog .hammer-card.equipped{border-color:#ffe18b;box-shadow:0 0 16px #e6bd4c40,inset 0 0 15px #e6bd4c16}
.final-dialog .hammer-card img{filter:drop-shadow(0 5px 6px #0009)}.final-dialog .hammer-card:disabled{opacity:.56}
.final-dialog .final-hammer-done{background:#284e3a;color:#fff0c8;border-color:#c9ae70}
.final-lesson{background:linear-gradient(125deg,#174b3bf7,#0b302bf7)!important;border:1px solid #edcb80!important;box-shadow:0 7px 25px #001a1baa,inset 0 1px #ffecaf33!important;border-radius:14px!important}
#lesson.final-lesson h2{color:#ffe4a4}#lesson.final-lesson .actions{gap:6px}#lesson.final-lesson button{border:1px solid #ffe3a377;background:linear-gradient(#ffe38c,#ffc649)}
#lesson.final-lesson .final-nav{padding:7px 0 0;margin-top:8px}#lesson.final-lesson .final-back-menu{min-height:36px;font-size:11px;padding:7px;background:linear-gradient(#37694b,#173e31);color:#fff0c8}
@keyframes final-star-pop{from{transform:scale(.3) rotate(-18deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
@media(max-width:400px){dialog.final-dialog[open]{padding:10px;gap:8px;border-radius:16px}.final-dialog .power-card{gap:7px;padding:9px}.final-dialog .power-card h3{font-size:14px}.final-dialog .power-card button{font-size:10px;padding:8px}.final-dialog .reward-box{padding:14px}.final-screen .page-title{font-size:7cqw}.final-nav .final-back-menu{min-height:44px}}
@media(prefers-reduced-motion:reduce){.final-screen *,.final-dialog *{animation:none!important;transition:none!important}}
body.reduced .final-screen *,body.reduced .final-dialog *{animation:none!important;transition:none!important}
