/* The live camera canvas remains behind this transparent console layer. */
dialog.result-modal .result-camera-stage{display:none}
body.camera-overlay-active.result-active #overlay-camera{display:block;filter:brightness(.9) saturate(1.06)}
dialog.result-modal.camera-result{background:linear-gradient(90deg,#020817c9 0%,#03101e28 28%,#03101e13 63%,#020817bd 100%),linear-gradient(0deg,#020817e8 0%,transparent 24%,transparent 83%,#0208177a 100%)}
dialog.result-modal.camera-result::backdrop{background:transparent;backdrop-filter:none}
dialog.result-modal.camera-result::before{background:linear-gradient(0deg,#020817b5,transparent 23%);z-index:0}
dialog.result-modal.camera-result .result-vignette{background:radial-gradient(ellipse at 50% 46%,transparent 24%,#02081779 100%)}
dialog.result-modal.camera-result .result-panel{width:100%;max-width:1900px;min-height:100dvh;padding:clamp(16px,2.1vw,34px) clamp(17px,3.8vw,72px) clamp(18px,2vw,30px);background:transparent;box-shadow:none;backdrop-filter:none}
dialog.result-modal.camera-result .result-topline{position:relative;z-index:2;min-height:65px}
dialog.result-modal.camera-result .result-topline>span{padding:10px 16px;border:1px solid #67dbff89;border-radius:99px;background:#07182bd9;color:#8befff;font-size:clamp(11px,.85vw,15px);letter-spacing:.12em}
dialog.result-modal.camera-result .result-topline>span::before{content:'● KAMERA AKTIV';color:#43ffb0;margin-right:13px}
dialog.result-modal.camera-result .result-layout{flex:1;display:grid;grid-template-columns:minmax(190px,.8fr) minmax(320px,1.45fr) minmax(340px,1fr);gap:clamp(16px,2.3vw,42px);align-items:center;padding-bottom:clamp(110px,14vh,155px)}
dialog.result-modal.camera-result .result-art{grid-column:1;grid-row:1;width:100%;max-width:340px;justify-self:center;align-self:center;transform:rotate(-3deg)}
dialog.result-modal.camera-result .result-art-frame{max-height:48vh;aspect-ratio:2/2.55;border-color:#7aeaff;box-shadow:0 0 0 2px #063d64,0 0 32px #21caff9c,0 22px 44px #000a}
dialog.result-modal.camera-result .result-camera-stage{position:relative;grid-column:2;grid-row:1;display:block;width:100%;height:min(61vh,650px);min-height:300px;background:url('/assets/menu/result-camera-frame.png') center/100% 100% no-repeat;filter:drop-shadow(0 0 17px #22cbff82);animation:result-camera-reveal .8s ease-out both;pointer-events:none}
dialog.result-modal.camera-result .result-camera-badge{position:absolute;top:5%;left:6%;padding:12px 18px;border:1px solid #70daffb8;border-radius:11px;background:#04152ce8;color:#e8f9ff;font:900 clamp(11px,1.05vw,18px) var(--display);letter-spacing:.08em;box-shadow:0 8px 24px #0009}
dialog.result-modal.camera-result .result-camera-badge::first-letter{color:#45ffb0}
dialog.result-modal.camera-result .result-lead{grid-column:3;grid-row:1;align-self:start;position:relative;z-index:2;pointer-events:none}
dialog.result-modal.camera-result .result-kicker{display:none}
dialog.result-modal.camera-result .result-intro{justify-content:center;margin:0;padding:20px 20px 0;border:1px solid #68d9ff91;border-bottom:0;border-radius:22px 22px 0 0;background:#061325e9;text-align:center}
dialog.result-modal.camera-result h2{max-width:none;font-size:clamp(43px,4.3vw,82px);line-height:.88;text-align:center}
dialog.result-modal.camera-result .result-description{max-width:none;margin:0;padding:15px 22px 17px;border-inline:1px solid #68d9ff91;background:#061325e9;text-align:center;font-size:clamp(14px,1.1vw,18px)}
dialog.result-modal.camera-result .result-data{grid-column:3;grid-row:1;align-self:center;width:100%;max-height:58vh;margin-top:clamp(105px,14vh,165px);padding:clamp(16px,1.5vw,28px);overflow:auto;background:linear-gradient(160deg,#061c36ef,#061326f2);border:1px solid #68d9ff91;border-radius:0 0 22px 22px;box-shadow:0 22px 50px #0008;backdrop-filter:blur(10px)}
dialog.result-modal.camera-result .result-score{font-size:clamp(60px,6.5vw,115px);padding-top:8px}
dialog.result-modal.camera-result .result-stats{margin-top:18px;padding-block:14px}
dialog.result-modal.camera-result .result-stat::before{margin-bottom:2px;font-size:22px}
dialog.result-modal.camera-result .result-stat strong{font-size:clamp(22px,2vw,35px)}
dialog.result-modal.camera-result .result-actions{position:fixed;z-index:5;left:clamp(16px,4vw,80px);right:clamp(16px,4vw,80px);bottom:clamp(46px,7vh,75px);width:auto;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,2vw,35px);pointer-events:auto}
dialog.result-modal.camera-result .result-actions button{min-height:clamp(66px,9vh,98px);padding:14px clamp(14px,2vw,28px);font-size:clamp(15px,1.5vw,27px);text-align:center;justify-content:center;gap:12px;border:2px solid #93dfff9c;border-radius:20px;box-shadow:0 14px 30px #0009;transition:transform .2s,box-shadow .2s,filter .2s}
dialog.result-modal.camera-result .result-actions button:hover,dialog.result-modal.camera-result .result-actions button:focus-visible{transform:translateY(-5px) scale(1.015);box-shadow:0 0 32px #47d8ff8a}
dialog.result-modal.camera-result .result-skip{position:fixed;z-index:5;left:50%;bottom:clamp(50px,8vh,82px);transform:translateX(-50%);pointer-events:auto}
dialog.result-modal.camera-result .dialog-gesture-hint{position:fixed;z-index:2;bottom:12px;left:0;right:0;margin:0!important;font-size:12px!important;letter-spacing:.04em;text-align:center;text-shadow:0 2px 12px #000}
@keyframes result-camera-reveal{from{opacity:0;transform:scale(.94);filter:brightness(2)}to{opacity:1;transform:scale(1);filter:brightness(1)}}
@media(max-width:1000px){dialog.result-modal.camera-result{overflow:auto}dialog.result-modal.camera-result .result-layout{grid-template-columns:minmax(130px,.7fr) minmax(260px,1.2fr) minmax(260px,1fr);gap:10px}dialog.result-modal.camera-result .result-art-frame{max-height:42vh}dialog.result-modal.camera-result .result-camera-stage{height:48vh;min-height:260px}dialog.result-modal.camera-result h2{font-size:clamp(36px,4vw,58px)}dialog.result-modal.camera-result .result-score{font-size:clamp(57px,7vw,85px)}}
@media(max-width:760px){dialog.result-modal.camera-result .result-panel{padding:12px 14px 26px;min-height:100dvh}dialog.result-modal.camera-result .result-topline{min-height:48px}dialog.result-modal.camera-result .result-topline>span{font-size:9px;padding:8px}dialog.result-modal.camera-result .result-layout{display:flex;flex-direction:column;gap:9px;padding-bottom:0}dialog.result-modal.camera-result .result-art{position:absolute;top:75px;right:20px;width:clamp(80px,23vw,125px);margin:0;transform:rotate(4deg)}dialog.result-modal.camera-result .result-art-frame{max-height:170px;border-width:2px}dialog.result-modal.camera-result .result-art figcaption{display:none}dialog.result-modal.camera-result .result-camera-stage{order:0;width:min(100%,550px);height:clamp(200px,32vh,360px);min-height:0;margin:0 auto}dialog.result-modal.camera-result .result-camera-badge{padding:7px;font-size:10px}dialog.result-modal.camera-result .result-lead{order:1;align-self:stretch;pointer-events:auto}dialog.result-modal.camera-result .result-intro{padding:14px 10px 0}dialog.result-modal.camera-result h2{font-size:clamp(37px,9vw,60px)}dialog.result-modal.camera-result .result-description{padding:8px 12px 12px;margin:0;font-size:14px}dialog.result-modal.camera-result .result-data{order:2;align-self:stretch;width:100%;max-height:none;margin:0;padding:12px;border-radius:16px}dialog.result-modal.camera-result .result-score{font-size:clamp(58px,15vw,90px)}dialog.result-modal.camera-result .result-stats{margin-top:10px;padding:8px 0}dialog.result-modal.camera-result .result-actions{position:static;width:100%;display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0 0}dialog.result-modal.camera-result .result-actions button{min-height:56px;font-size:17px;border-radius:12px}dialog.result-modal.camera-result .result-skip{position:static;transform:none;margin:10px auto;display:block}dialog.result-modal.camera-result .dialog-gesture-hint{position:static;margin:15px 0 0!important}}
@media(max-height:700px) and (min-width:761px){dialog.result-modal.camera-result .result-layout{padding-bottom:90px}dialog.result-modal.camera-result .result-camera-stage{height:48vh;min-height:230px}dialog.result-modal.camera-result .result-art-frame{max-height:43vh}dialog.result-modal.camera-result .result-data{max-height:54vh;margin-top:85px}dialog.result-modal.camera-result .result-intro{padding-top:10px}dialog.result-modal.camera-result .result-description{padding-block:7px}dialog.result-modal.camera-result .result-actions{bottom:28px}dialog.result-modal.camera-result .dialog-gesture-hint{display:none}}
@media(prefers-reduced-motion:reduce){dialog.result-modal.camera-result .result-camera-stage,dialog.result-modal.camera-result .result-actions button{animation:none;transition:none}}

/* Results with camera: two clear choices, an unobstructed player image and one
   stacked score panel. Keep the portal data, but its account prompts out of the
   gesture path while the player is choosing the next game. */
dialog.result-modal.camera-result .result-layout{grid-template-rows:auto minmax(0,1fr);align-items:stretch}
dialog.result-modal.camera-result .result-art{grid-row:1/3}
dialog.result-modal.camera-result .result-camera-stage{grid-row:1/3;background:none;filter:none;animation:none}
dialog.result-modal.camera-result .result-camera-badge{display:none}
dialog.result-modal.camera-result .result-lead{grid-row:1;align-self:end}
dialog.result-modal.camera-result .result-intro{padding-top:15px}
dialog.result-modal.camera-result .result-description{padding-block:10px 15px}
dialog.result-modal.camera-result .result-data{grid-row:2;align-self:start;max-height:min(60vh,610px);margin-top:0;border-top:0;border-radius:0 0 22px 22px;scrollbar-width:thin;scrollbar-color:#80dfff #112842}
dialog.result-modal.camera-result .result-actions{left:50%;right:auto;width:min(1080px,74vw);transform:translateX(-50%);grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(15px,3vw,48px)}
dialog.result-modal.camera-result #result-save,dialog.result-modal.camera-result .result-community-actions{display:none!important}
dialog.result-modal.giant-result #result-title{font-size:clamp(42px,4.5vw,78px);line-height:.93}
@media(max-width:600px){dialog.result-modal.giant-result #result-title{font-size:clamp(40px,11vw,62px)}}
dialog.result-modal.camera-result .result-actions button{min-height:clamp(76px,10vh,112px);font-size:clamp(22px,2vw,34px);letter-spacing:.02em}
dialog.result-modal.camera-result .result-actions #result-exit{grid-column:2}
@media(max-width:760px){
  dialog.result-modal.camera-result .result-layout{display:flex;padding-bottom:110px}
  dialog.result-modal.camera-result .result-camera-stage{height:clamp(170px,27vh,310px)}
  dialog.result-modal.camera-result .result-data{max-height:none;border-top:1px solid #68d9ff91;border-radius:16px}
  dialog.result-modal.camera-result .result-actions{position:fixed;left:10px;right:10px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;transform:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
  dialog.result-modal.camera-result .result-actions button{min-height:68px;padding:7px;font-size:clamp(14px,3.8vw,19px);line-height:1.05}
  dialog.result-modal.camera-result .result-actions #result-exit{grid-column:2}
  dialog.result-modal.camera-result .dialog-gesture-hint{display:none}
}

/* Camera result: two large side targets at hand height, with the score kept
   between them. The existing buttons and dwell handlers stay unchanged. */
@media(min-width:761px){
  dialog.result-modal.camera-result .result-layout{grid-template-columns:minmax(150px,1fr) minmax(350px,560px) minmax(150px,1fr);grid-template-rows:auto minmax(0,1fr);gap:0;padding-bottom:0}
  dialog.result-modal.camera-result .result-art{grid-column:1;grid-row:1/3;width:min(14vw,190px);align-self:start;justify-self:start;margin-top:clamp(24px,6vh,80px)}
  dialog.result-modal.camera-result .result-art-frame{max-height:28vh}
  dialog.result-modal.camera-result .result-art figcaption strong{font-size:clamp(20px,1.6vw,28px)}
  dialog.result-modal.camera-result .result-camera-stage{grid-column:2;grid-row:1/3}
  dialog.result-modal.camera-result .result-lead{grid-column:2;grid-row:1;align-self:end}
  dialog.result-modal.camera-result .result-data{grid-column:2;grid-row:2;max-height:55vh}
  dialog.result-modal.camera-result .result-actions{position:fixed;inset:0;width:auto;transform:none;display:block;pointer-events:none}
  dialog.result-modal.camera-result .result-actions button{position:absolute;top:50%;width:clamp(152px,14vw,230px);height:clamp(152px,14vw,230px);min-height:0;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:24px 18px;border-radius:50%;font-size:clamp(19px,1.65vw,27px);line-height:1.04;text-align:center;white-space:normal;pointer-events:auto;transform:translateY(-50%);box-shadow:0 0 0 6px #07192bd9,0 0 34px #51d8ff7a,0 18px 36px #000a}
  dialog.result-modal.camera-result .result-actions #again-btn{left:clamp(22px,4vw,80px)}
  dialog.result-modal.camera-result .result-actions #result-exit{left:auto;right:clamp(22px,4vw,80px)}
  dialog.result-modal.camera-result .result-actions button span{font-size:1.4em;line-height:1}
  dialog.result-modal.camera-result .result-actions button:hover,dialog.result-modal.camera-result .result-actions button:focus-visible{transform:translateY(-50%) scale(1.07)}
}
@media(max-width:760px){
  dialog.result-modal.camera-result .result-panel{padding-inline:12px}
  dialog.result-modal.camera-result .result-layout{display:flex;flex-direction:column;padding-bottom:22px}
  dialog.result-modal.camera-result .result-art{display:none}
  dialog.result-modal.camera-result .result-camera-stage{position:absolute;inset:18vh 0 auto;height:50vh;width:100%;max-width:none}
  dialog.result-modal.camera-result .result-lead{order:0;width:100%;align-self:center}
  dialog.result-modal.camera-result .result-intro{padding-top:9px}
  dialog.result-modal.camera-result h2{font-size:clamp(32px,8vw,56px)}
  dialog.result-modal.camera-result .result-description{font-size:13px}
  dialog.result-modal.camera-result .result-data{order:2;margin-top:clamp(205px,37vh,420px);max-height:none}
  dialog.result-modal.camera-result .result-actions{position:fixed;inset:0;width:auto;margin:0;display:block;pointer-events:none}
  dialog.result-modal.camera-result .result-actions button{position:absolute;top:43%;width:clamp(126px,36vw,190px);height:clamp(126px,36vw,190px);min-height:0;aspect-ratio:1;padding:15px 9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border-radius:50%;font-size:clamp(15px,4vw,21px);line-height:1.04;text-align:center;pointer-events:auto;transform:translateY(-50%)}
  dialog.result-modal.camera-result .result-actions #again-btn{left:3vw}
  dialog.result-modal.camera-result .result-actions #result-exit{left:auto;right:3vw}
  dialog.result-modal.camera-result .result-actions button:hover,dialog.result-modal.camera-result .result-actions button:focus-visible{transform:translateY(-50%) scale(1.04)}
}
