/* Scoped prototype; the production minigame and shared seat anchors are untouched. */
.arm-lab{--lab-gold:#edbd70;--lab-green:#8bddb0;width:min(1100px,100%);margin:auto}
.arm-lab *{box-sizing:border-box}.arm-lab h1{font:700 clamp(30px,4vw,48px)/1.08 Georgia,serif;margin:5px 0 8px;letter-spacing:-.03em}.arm-lab .eyebrow{margin:0;font-size:10px}
.duel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.duel-heading p:last-child{color:var(--muted);font-size:13px;margin:0}.duel-utilities{display:flex;gap:8px}.duel-utilities button{min-width:44px;font-size:12px;padding:10px}
.duel-world{position:relative;border:1px solid #79532b;border-radius:20px;overflow:hidden;background:#100b07;isolation:isolate}
.duel-pub .bar-scene{margin:0;border:0;border-radius:0;min-height:0;aspect-ratio:2048/1150;transition:filter .6s,transform .8s;transform-origin:50% 70%}
.duel-world.is-close .duel-pub .bar-scene{filter:brightness(.38) blur(2px);transform:scale(1.09)}
.duel-focus{position:absolute;inset:5% 10% 8%;z-index:20;opacity:0;visibility:hidden;transform:translateY(16px) scale(.94);transition:opacity .5s,transform .65s,visibility .5s;display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:#1d120c;box-shadow:0 15px 65px #000b;border:1px solid #ad783c}
.is-close .duel-focus{opacity:1;visibility:visible;transform:none}.duel-names{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;background:#21160ee8;padding:12px 18px;z-index:2}.duel-names>div{display:grid;gap:3px}.duel-names>div:last-child{text-align:right}.duel-names strong{font:700 21px Georgia,serif}.duel-names small{color:#baa489;font-size:10px}.duel-clock{font:700 22px ui-monospace,monospace;color:var(--lab-gold);min-width:52px;text-align:center}
.duel-photo{position:relative;flex:1;min-height:0;overflow:hidden}.duel-photo>i{position:absolute;inset:0;background:url('/assets/minigames/arm-duel-jonas-arturas-v29.webp') center top/100% 300% no-repeat;transition:opacity .25s;opacity:0}.duel-photo>i:first-child{opacity:1}.duel-photo>i:nth-child(2){background-position:center center}.duel-photo>i:nth-child(3){background-position:center bottom}.duel-photo>i.visible{opacity:1}.duel-photo.is-straining{animation:duel-strain .17s ease-in-out infinite alternate}
@keyframes duel-strain{to{transform:translateY(1px)}}
.duel-announcement{position:absolute;inset:0;display:grid;place-content:center;text-align:center;background:#160d0677;z-index:4;pointer-events:none}.duel-announcement[hidden]{display:none}.duel-announcement b{font:800 clamp(55px,9vw,110px)/1 Georgia,serif;text-shadow:0 4px 24px #000;color:#ffdc93}.duel-announcement span{font-weight:700;margin-top:12px;text-shadow:0 2px 8px #000}.duel-announcement.result b{font-size:clamp(30px,4vw,48px)}
.duel-pressure{padding:9px 18px 11px;background:#1c120be8}.duel-pressure-caption{display:flex;justify-content:space-between;font-size:10px;color:#cebc9f;margin-bottom:7px}.duel-track{height:8px;position:relative;background:linear-gradient(90deg,#9c6eab,#d2b077 50%,#5cb093);border-radius:8px}.duel-track::after{content:'';position:absolute;left:50%;top:-3px;height:14px;border-left:1px solid #fff8}.duel-track i{position:absolute;top:50%;left:50%;width:17px;height:17px;border:3px solid #fff3d7;border-radius:50%;background:#20190f;transform:translate(-50%,-50%);box-shadow:0 2px 6px #000}
.duel-host{padding:13px 20px;display:flex;gap:12px;align-items:center;border-bottom:1px solid #fff1;color:#e5d1af;background:#251a1099;font-size:13px;min-height:53px}.duel-host b{font-size:10px;letter-spacing:.12em;color:var(--lab-gold);white-space:nowrap}
.duel-audience{display:flex;justify-content:center;gap:clamp(15px,5vw,60px);padding:28px 10px 12px;min-height:101px}.duel-fan{position:relative;text-align:center}.duel-fan img{display:block;width:43px;height:43px;object-fit:cover;border-radius:50%;border:1px solid #7e6036;margin:auto;filter:brightness(.85)}.duel-fan small{font-size:10px;color:#ab9e89}.duel-fan span{position:absolute;z-index:25;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);padding:6px 9px;border:1px solid #b68b4e;background:#342416;border-radius:8px;color:#ffe4b6;white-space:nowrap;font-size:11px;opacity:0;transition:opacity .15s}.duel-fan span::after{content:'';position:absolute;top:100%;left:calc(50% - 4px);border:5px solid transparent;border-top-color:#b68b4e}.duel-fan.cheering span{opacity:1}.duel-fan.cheering img{filter:none;box-shadow:0 0 15px #bd8c3144}
.duel-console{border:1px solid #7e613233;border-radius:16px;padding:20px;background:linear-gradient(135deg,#2d2016,#19120d);margin-top:14px}.duel-setup{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:14px}.duel-setup[hidden],.duel-controls[hidden],.duel-spectate[hidden],.duel-after[hidden]{display:none}.duel-setup label{font-size:10px}.duel-setup select{padding:12px}.duel-setup p{grid-column:1/-1;font-size:12px;color:var(--muted);margin:0;line-height:1.5}.duel-controls{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:24px}.duel-energy label{display:flex;justify-content:space-between;font-size:11px;color:#c4b59e;letter-spacing:0;text-transform:none}.duel-energy meter{width:100%;height:18px;accent-color:#8bddb0}.duel-energy meter::-webkit-meter-bar{background:#120d08;border:0}.duel-energy meter::-webkit-meter-optimum-value{background:#8bddb0}.duel-energy small{display:block;min-height:28px;margin-top:9px;font-size:12px;color:#c7b797;line-height:1.4}
.duel-hold{min-height:90px;width:100%;border-radius:13px;background:linear-gradient(135deg,#efc574,#be8737);border:1px solid #ffdc93;color:#261706;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:pointer;display:grid;align-content:center;gap:5px}.duel-hold b{font-size:21px;letter-spacing:.05em}.duel-hold small{font-size:11px}.duel-hold[aria-pressed=true]{background:#94d8b2;transform:translateY(2px);box-shadow:inset 0 3px 14px #1c513955}.duel-hold:disabled{filter:grayscale(.8);opacity:.65}.duel-hold:focus-visible{outline:3px solid white;outline-offset:4px}
.duel-precision{grid-column:1/-1}.duel-precision[hidden]{display:none}.duel-precision p{font-size:12px;margin:0 0 10px;color:#ebdab8}.duel-precision-track{position:relative;background:#120d08;height:19px;border-radius:10px;overflow:hidden}.duel-precision-track b{position:absolute;inset:0 43%;background:#6abb8c}.duel-precision-track i{position:absolute;top:0;bottom:0;width:4px;left:0;background:white;box-shadow:0 0 10px #fff}
.duel-spectate{text-align:center}.duel-spectate p{color:#c7b797;font-size:13px;margin:0 0 12px}.duel-spectate>div{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.duel-spectate button[aria-pressed=true]{border-color:#edbd70;background:#d6a45133}.duel-after{text-align:center}.duel-after p{font-size:13px;color:#c7b797}.duel-after button{margin:5px}.duel-footnote{font-size:11px;line-height:1.5;color:#998b77;margin:12px 4px}.duel-pause-cover{position:absolute;inset:0;display:grid;place-content:center;background:#100b07cc;z-index:40;text-align:center;backdrop-filter:blur(5px)}.duel-pause-cover[hidden]{display:none}.duel-pause-cover strong{font:700 34px Georgia,serif}.duel-pause-cover p{color:#c7b797}.duel-pause-cover button{margin:10px auto 0;min-width:150px}
@media(max-width:600px){.arm-lab .duel-heading{align-items:flex-start}.duel-utilities{flex-direction:column;gap:5px}.duel-utilities button{min-height:35px;padding:7px}.duel-heading p:last-child{max-width:225px;line-height:1.4}.duel-world{border-radius:14px}.duel-pub .bar-scene{min-height:290px;aspect-ratio:auto}.duel-focus{inset:0;border:0;border-radius:0}.duel-names{padding:11px 13px}.duel-names strong{font-size:19px}.duel-photo{flex:none;aspect-ratio:2/1;width:100%}.duel-focus{justify-content:center;background:#1b100a}.duel-pressure{padding:12px 13px}.duel-host{padding:12px;font-size:12px;gap:9px}.duel-host b{font-size:9px}.duel-console{padding:14px}.duel-setup{grid-template-columns:1fr 1fr;gap:12px}.duel-setup>.button{grid-column:1/-1}.duel-controls{grid-template-columns:1fr;gap:12px}.duel-hold{min-height:78px}.duel-energy small{min-height:18px;margin-top:4px}.duel-audience{padding-top:27px;min-height:91px}.duel-fan img{width:37px;height:37px}.duel-fan span{font-size:10px}.duel-footnote{font-size:10px}}
@media(prefers-reduced-motion:reduce){.arm-lab *,.arm-lab *::before,.arm-lab *::after{animation:none!important;transition:none!important}}

/* Keep the duel and hold control visible together on laptop screens. */
body.arm-preview-page .topbar{padding-top:14px;padding-bottom:14px}
body.arm-preview-page .app-shell{padding-top:14px;padding-bottom:24px}
@media(min-width:601px){
  .arm-lab .duel-world{width:min(100%,max(480px,calc((100svh - 480px)*1.78)),860px);margin-inline:auto}
  .arm-lab .duel-audience{min-height:78px;padding-top:25px;padding-bottom:4px}
  .arm-lab .duel-console{padding:14px 20px}
}

.arm-lab [hidden]{display:none!important}
