/* Progressive enhancement: the marketing page and artwork remain useful without scripts. */
.interactive-only{display:none}.interactions-ready .interactive-only{display:block}.interactions-ready button.interactive-only{display:inline-flex}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.tactical-lab{margin-top:65px;border:1px solid var(--line);background:#15131d}.lab-intro{padding:32px 34px;display:flex;justify-content:space-between;align-items:end;gap:25px}.lab-intro .eyebrow{font-size:8px;color:#b5a9c8}.lab-intro h3{font-size:60px;margin-top:12px}.lab-intro>p{font-size:13px;color:#dbd5e3;line-height:1.6}.lab-intro>p span{color:#a89eb7;font-size:10px}.tactic-switcher{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tactic-switcher button{background:none;border:0;border-right:1px solid var(--line);text-align:left;min-height:60px;padding:15px 24px;font-size:10px;color:#a79db8}.tactic-switcher button:last-child{border-right:0}.tactic-switcher button span{margin-left:14px;font-size:12px;color:var(--paper)}.tactic-switcher button[aria-pressed=true]{background:#2f2842;color:var(--lime);box-shadow:inset 0 -2px var(--lime)}.tactic-layout{display:grid;grid-template-columns:1fr 1.05fr}.tactic-board{position:relative;min-height:450px;overflow:hidden;background:radial-gradient(ellipse at center,#2b2647aa,#14111e 80%),url('./assets/art/kairagon.webp') 50% 50%/cover}.board-grid{position:absolute;inset:0;background:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:36px 36px}.board-orbit{position:absolute;border:1px dashed #c9b6ff35;border-radius:50%;left:10%;top:16%;width:80%;height:68%;transform:rotate(-18deg)}.board-token{position:absolute;z-index:2;top:48%;width:55px;height:55px;border:2px solid #d5c8ec;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#242135;box-shadow:0 8px 20px #0009;transform:translate(-50%,-50%);transition:left .85s ease,top .85s ease,box-shadow .4s}.token-player{left:18%;border-color:#f9cf65;color:#f9cf65}.token-ally{left:53%;border-color:#c2e294;color:#c2e294}.token-enemy{left:82%;border-color:#ff899b;color:#ff899b}.token-symbol{font:27px/1 Display,sans-serif}.board-token>b{position:absolute;top:-29px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:1px;font-weight:500;white-space:nowrap}.token-health{position:absolute;bottom:-16px;left:4px;right:4px;height:4px;border:1px solid #ffffff33;background:linear-gradient(90deg,currentColor 70%,transparent 70%)}.token-ally .token-health{background:linear-gradient(90deg,currentColor 22%,transparent 22%)}.token-shield{position:absolute;inset:-9px;border:2px solid #a0c7ff;border-radius:50%;font-size:0;opacity:0;transition:opacity .4s;box-shadow:0 0 25px #a0c7ff55}.board-line{position:absolute;left:18%;top:48%;width:35%;height:3px;background:#ffbf63;transform-origin:left;opacity:0;box-shadow:0 0 12px #ffa54f;transition:opacity .2s}.board-projectile{position:absolute;left:18%;top:48%;width:16px;height:16px;border-radius:50%;background:#d8ff9d;transform:translate(-50%,-50%);box-shadow:0 0 25px #b5ff70;opacity:0}.board-scale{position:absolute;top:22px;left:22px;font-size:6px;letter-spacing:1.5px;color:#b5a7ca}.board-result{position:absolute;bottom:33px;left:24px;right:24px;font-size:9px;letter-spacing:1px;line-height:1.7;color:var(--lime);text-align:center}.tactic-board[data-scene=rescue][data-solved=true] .token-ally{left:35%;box-shadow:0 0 35px #a0c7ff55}.tactic-board[data-scene=rescue][data-solved=true] .token-shield{opacity:1}.tactic-board[data-scene=rescue][data-solved=true] .board-line{opacity:.85}.tactic-board[data-scene=potion] .token-player{color:#badc8b;border-color:#badc8b}.tactic-board[data-scene=potion][data-solved=true] .board-projectile{animation:potion-line 1.2s ease-out forwards}.tactic-board[data-scene=potion][data-solved=true] .token-ally .token-health{background:currentColor}.tactic-board[data-scene=potion][data-solved=true] .token-enemy{box-shadow:0 0 35px #8e7bbd;color:#b2a2d0}.tactic-board[data-scene=orb] .token-player{left:24%;top:65%;color:#c2e294;border-color:#c2e294}.tactic-board[data-scene=orb] .token-ally{left:76%;top:65%}.tactic-board[data-scene=orb] .token-enemy{left:50%;top:33%;width:50px;height:50px;color:#f8e3a4;border-color:#f8e3a4;background:radial-gradient(circle,#fff7cb,#cfa764);box-shadow:0 0 38px #f9db7c88}.tactic-board[data-scene=orb] .token-enemy .token-symbol,.tactic-board[data-scene=orb] .token-enemy .token-health{display:none}.tactic-board[data-scene=orb][data-solved=true] .token-player,.tactic-board[data-scene=orb][data-solved=true] .token-ally{box-shadow:0 0 50px #c2e29499}.tactic-board[data-scene=orb][data-solved=true] .token-health{background:currentColor}.tactic-board[data-scene=orb][data-solved=true] .token-enemy{opacity:.2;transition:opacity .5s}.tactic-question{padding:30px;border-left:1px solid var(--line)}.lab-count{font-size:9px;color:var(--lime);letter-spacing:2px}.tactic-question h4{font:34px/1.1 Display,sans-serif;margin:14px 0}.tactic-question>p{font-size:12px;color:#bfb5cf;line-height:1.7}.tactic-options{display:flex;flex-direction:column;gap:8px;margin-top:22px}.tactic-options button{display:flex;gap:15px;align-items:start;text-align:left;background:#ffffff04;border:1px solid #ffffff28;padding:13px;min-height:48px;font-size:11px;line-height:1.6}.tactic-options button>span:first-child{color:#9c8cad;font-size:8px;margin-top:3px}.tactic-options button:hover{border-color:#c8b8df}.tactic-options button[data-answer=miss]{border-color:#ce8d9e}.tactic-options button[data-answer=correct]{background:#dcff7615;border-color:var(--lime)}.tactic-feedback{font-size:11px;line-height:1.7;color:#c2b4d3;margin-top:17px;min-height:20px}.tactic-feedback[data-correct=true]{color:#d3e7ac}.tactic-next{font-size:11px;border-top:0;border-left:0;border-right:0;background:none;margin-top:8px;padding:10px 0;min-height:44px;color:var(--lime)}
.duo-section{padding-top:32px}.duo-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.duo-heading h2{font-size:105px;margin-top:20px}.duo-heading h2 span{color:var(--lime)}.duo-heading .eyebrow{font-size:8px;color:#b9aacb}.duo-heading>p{font-size:13px;color:#b7adbf;line-height:1.8;max-width:380px;padding-bottom:5px}.duo-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.duo-controls{padding:28px;background:#17161f;border:1px solid var(--line)}.duo-controls fieldset{padding:0;margin:0;border:0;min-width:0}.duo-controls fieldset+fieldset{margin-top:28px}.duo-controls legend{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:1px;width:100%;margin-bottom:14px}.duo-controls legend small{margin-left:auto;font-size:6px;color:#b5a9c7;letter-spacing:.5px}.player-badge{font:18px/1 Display,sans-serif;background:#f9cf65;color:var(--ink);padding:6px 8px}.player-two{background:#a7c7f3}.duo-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.duo-choice{position:relative;cursor:pointer;min-width:0}.duo-choice input{position:absolute;opacity:0;width:1px;height:1px;left:50%;top:50%}.duo-choice>span{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:126px;padding:12px 5px;border:1px solid #ffffff28;background:#ffffff02;transition:background .2s,border .2s}.duo-choice b{font:24px/1 Display,sans-serif;margin-top:10px;font-weight:400}.duo-choice small{font-size:8px;letter-spacing:0;margin-top:6px;color:#b9afc6;white-space:normal;text-align:center;line-height:1.4}.duo-choice img{width:43px;height:43px}.duo-choice:hover>span{background:#ffffff09}.duo-choice input:checked+span{border-color:var(--lime);background:#dcff7612}.duo-choice input:checked+span b{color:var(--lime)}.duo-choice input:focus-visible+span{outline:3px solid var(--lime);outline-offset:4px}.duo-control-foot{display:flex;justify-content:space-between;gap:12px;margin-top:27px}.duo-control-foot button{background:none;border:1px solid #ffffff35;padding:10px 14px;font-size:10px;min-height:44px;display:flex;align-items:center;gap:20px}.duo-control-foot button:hover{background:#ffffff09}.duo-control-foot button span{color:var(--lime);font-size:17px}.duo-hint{font-size:9px;color:#ab9bbd;line-height:1.7;margin-top:16px}.duo-result{position:relative;overflow:hidden;padding:30px;background:radial-gradient(ellipse at 15% 20%,color-mix(in srgb,var(--first-color) 9%,transparent),transparent 60%),radial-gradient(ellipse at 85% 80%,color-mix(in srgb,var(--second-color) 10%,transparent),transparent 60%),#1c1925;border:1px solid #b5a4cd44}.duo-pair{display:flex;gap:15px;align-items:center;font:31px/1 Display,sans-serif;letter-spacing:1px}.duo-pair>span:first-child{color:var(--first-color)}.duo-pair>span:last-child{color:var(--second-color)}.duo-pair i{font:20px/1 Space,sans-serif;color:#8d7c9f;font-style:normal}.duo-orbit{display:flex;align-items:center;gap:25px;margin:24px 0 26px}.duo-orbit img{width:63px;height:63px;border:1px solid #ffffff40;transform:rotate(-6deg);box-shadow:7px 7px 0 #ffffff08}.duo-orbit img:last-child{transform:rotate(6deg)}.duo-orbit>span{font-size:25px;color:#8f80a7}.duo-result>.eyebrow{font-size:8px;letter-spacing:.8px;color:#d0c2dc;line-height:1.7}.duo-result h3{font-size:45px;line-height:1.05;margin:10px 0 18px}.duo-result>p:not(.eyebrow){font-size:12px;color:#c3b7ce;line-height:1.8}.duo-tip{border-top:1px solid var(--line);margin:22px 0;padding-top:17px}.duo-tip>span{font-size:7px;color:var(--lime);letter-spacing:1px}.duo-tip p{font-size:10px;line-height:1.7;color:#b6a7c5;margin-top:7px}.duo-result .button{font-size:11px;min-height:48px;padding:14px 18px}.duo-result #duo-copy-status{font-size:9px;margin-top:10px;min-height:17px;color:var(--lime)}#duo-copy-fallback{width:100%;background:#111116;border:1px solid #c7b1e588;color:var(--paper);padding:12px;font:12px Space,sans-serif;min-height:44px}.duo-bottom-note{font-size:10px;color:#ad9cbe;line-height:1.8;margin-top:22px}.duo-bottom-note a{color:var(--lime);text-decoration:underline}
.future-roster{margin-top:55px;border-top:1px solid var(--line);padding-top:30px}.future-roster-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:24px}.future-roster h3{font-size:38px}.future-roster-heading p{font-size:9px;color:#b3a4c4}.future-roster-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:start}.future-hero{border:1px solid #ffffff28;background:#1a1723}.future-hero summary{padding:18px 14px;gap:12px;align-items:center;min-height:92px}.future-hero summary img{width:40px;height:40px}.future-hero summary>span{font-size:inherit;color:inherit;transition:none}.future-hero[open] summary>span{transform:none}.future-hero b{display:block;font:28px/1 Display,sans-serif;font-weight:400}.future-hero small{display:block;font-size:6px;line-height:1.6;color:#b3a4c4;margin-top:6px}.future-hero summary i{font-style:normal;color:var(--lime);font-size:16px}.future-hero[open] summary i{transform:rotate(45deg)}.future-ability{padding:0 16px 20px;border-top:1px solid var(--line)}.future-ability strong{display:block;margin-top:17px;font-size:12px;color:var(--lime)}.future-ability p{padding:0;margin-top:10px;font-size:11px;line-height:1.7}.future-ability small{font-size:8px;margin-top:10px}
.gallery-section{padding-top:25px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:40px}.gallery-heading h2{font-size:89px}.gallery-heading>p{font-size:12px;line-height:1.8;color:#b7a8c7}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 22px}.gallery-card{display:block;min-width:0}.gallery-card>div{position:relative;overflow:hidden;aspect-ratio:16/9;border:1px solid #bba3e844;background:#16151c}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-card:hover img{transform:scale(1.025)}.gallery-card>div>span{position:absolute;right:13px;bottom:13px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#101018d9;border:1px solid #ffffff44;color:var(--lime);font-size:21px}.gallery-card>p{margin-top:13px;display:flex;justify-content:space-between;gap:15px;align-items:baseline}.gallery-card b{font-weight:500;font-size:12px}.gallery-card small{font-size:8px;color:#b9aaca;text-align:right}.gallery-foot{display:flex;justify-content:space-between;gap:25px;align-items:start;margin-top:25px}.gallery-foot p{font-size:9px;line-height:1.7;color:#ab9bbd;max-width:430px}.gallery-foot .text-link{background:none;border-left:0;border-top:0;border-right:0;font-size:10px;padding-top:0;min-height:44px;white-space:nowrap}.art-open{overflow:hidden}.art-dialog{width:min(1250px,96vw);max-height:96vh;background:#101017;color:var(--paper);border:1px solid #ad8bdb66;padding:24px;box-shadow:0 0 90px #000c}.art-dialog::backdrop{background:#07050de8;backdrop-filter:blur(10px)}.art-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}.art-dialog-head .eyebrow{font-size:8px;color:#b3a1ca;line-height:1.8}.art-dialog-head h2{font-size:45px;margin-top:10px}.art-close{background:none;border:1px solid #ffffff44;min-height:44px;padding:10px 16px;font-size:11px;display:flex;gap:20px;align-items:center;flex-shrink:0}.art-close>span{font-size:24px;line-height:1}.art-dialog figure{margin:0}.art-dialog figure img{width:100%;height:min(62vh,700px);object-fit:contain;background:#08070c}.art-dialog figcaption{font-size:10px;line-height:1.7;color:#b8aac7;margin:13px 0 0}.art-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px}.art-dialog-foot button{border:1px solid #ffffff38;background:none;padding:10px 16px;min-height:44px;font-size:11px}.art-dialog-foot span{font-size:10px;color:var(--lime);letter-spacing:2px}.art-dialog :focus-visible{outline:2px solid var(--lime);outline-offset:4px}@keyframes potion-line{0%{left:18%;opacity:1}88%{left:82%;opacity:1}100%{left:82%;opacity:0}}
@media(max-width:1100px){.duo-controls{padding:22px}.duo-choice>span{min-height:112px}.duo-choice img{width:37px;height:37px}.duo-choice b{font-size:22px}.duo-choice small{font-size:7.5px}.duo-result{padding:26px}.duo-result h3{font-size:39px}.future-roster-grid{grid-template-columns:repeat(2,1fr)}.future-hero summary{justify-content:start}.future-hero summary i{margin-left:auto}.future-hero small{font-size:8px}.future-hero b{font-size:30px}.tactic-question{padding:25px}.tactic-question h4{font-size:31px}}
@media(max-width:800px){.lab-intro{padding:28px}.lab-intro h3{font-size:51px}.lab-intro>p{font-size:11px}.lab-intro>p span{font-size:8px}.tactic-switcher button{padding:13px;font-size:8px}.tactic-switcher button span{font-size:10px;margin-left:9px}.tactic-layout{grid-template-columns:1fr}.tactic-board{min-height:290px}.board-token{width:49px;height:49px}.tactic-question{border-left:0;border-top:1px solid var(--line);padding:28px}.tactic-question h4{font-size:36px}.tactic-question>p{max-width:590px}.tactic-options button{font-size:12px}.duo-heading h2{font-size:90px}.duo-heading>p{font-size:11px}.duo-layout{grid-template-columns:1fr}.duo-controls{padding:28px}.duo-choice>span{min-height:126px}.duo-choice img{width:45px;height:45px}.duo-choice b{font-size:29px}.duo-choice small{font-size:7px}.duo-result{padding:32px}.duo-result h3{font-size:49px}.duo-controls legend small{font-size:7px}.duo-hint{font-size:10px}.duo-control-foot button{font-size:12px}.duo-result .button{font-size:12px}.duo-pair{font-size:38px}.duo-orbit{margin:26px 0}.duo-heading{gap:25px}.gallery-heading h2{font-size:74px}.gallery-card>p{display:block}.gallery-card small{display:block;text-align:left;margin-top:5px}.gallery-foot{display:block}.gallery-foot .text-link{margin-top:15px}.art-dialog-head h2{font-size:38px}}
@media(max-width:540px){.tactical-lab{margin-top:35px}.lab-intro{padding:25px 20px;display:block}.lab-intro h3{font-size:52px}.lab-intro>p{margin-top:14px;font-size:11px}.lab-intro>p span{font-size:9px}.tactic-switcher button{padding:14px 10px;min-height:68px}.tactic-switcher button span{display:block;margin:4px 0 0;font-size:9px;line-height:1.4}.tactic-board{min-height:250px}.board-token{width:42px;height:42px}.token-symbol{font-size:23px}.board-token>b{font-size:7px;top:-24px}.board-scale{font-size:5px;top:17px;left:16px}.board-result{font-size:7px;left:15px;right:15px;bottom:22px}.tactic-question{padding:24px 20px}.tactic-question h4{font-size:33px}.tactic-question>p{font-size:11px}.tactic-options button{font-size:10px;padding:12px;gap:12px}.tactic-feedback{font-size:10px}.duo-section{padding-top:0}.duo-heading{display:block}.duo-heading h2{font-size:86px;margin-top:15px}.duo-heading>p{font-size:12px;margin-top:20px}.duo-heading .eyebrow{font-size:7px}.duo-heading .desktop-break{display:none}.duo-controls{padding:20px 14px}.duo-controls legend{font-size:8px;gap:8px}.duo-controls legend small{font-size:5px}.duo-choice-grid{gap:5px}.duo-choice>span{min-height:105px;padding:10px 3px}.duo-choice img{width:34px;height:34px}.duo-choice b{font-size:22px}.duo-choice small{font-size:7.5px}.duo-control-foot{gap:8px}.duo-control-foot button{font-size:9px;padding:10px;gap:14px}.duo-hint{font-size:8px}.duo-result{padding:25px 22px}.duo-pair{font-size:35px}.duo-result h3{font-size:42px}.duo-result>.eyebrow{font-size:7px}.duo-result>p:not(.eyebrow){font-size:11px}.duo-tip p{font-size:10px}.duo-bottom-note{font-size:9px}.future-roster-heading{display:block}.future-roster-heading p{margin-top:12px;font-size:8px}.future-roster h3{font-size:36px}.future-roster-grid{gap:8px}.future-hero summary{padding:14px 10px;gap:7px;min-height:90px;flex-wrap:wrap}.future-hero summary img{width:30px;height:30px}.future-hero b{font-size:24px}.future-hero small{font-size:8px}.future-hero summary i{display:none}.future-ability{padding:0 12px 16px}.future-ability p{font-size:10px}.future-ability strong{font-size:11px}.future-ability small{font-size:7px}.gallery-heading{display:block;margin-bottom:30px}.gallery-heading h2{font-size:74px}.gallery-heading>p{margin-top:22px;font-size:12px}.gallery-grid{gap:22px 12px}.gallery-card b{font-size:10px;line-height:1.5;display:block}.gallery-card small{font-size:7px;line-height:1.6}.gallery-card>div>span{width:28px;height:28px;right:7px;bottom:7px;font-size:18px}.gallery-foot p{font-size:8px}.art-dialog{padding:14px;max-height:96vh}.art-dialog-head{gap:12px}.art-dialog-head .eyebrow{font-size:6px;letter-spacing:.7px}.art-dialog-head h2{font-size:30px;line-height:1.05}.art-close{font-size:9px;padding:8px 10px;gap:10px}.art-dialog figure img{height:auto;max-height:65vh;aspect-ratio:auto;min-height:160px}.art-dialog figcaption{font-size:9px}.art-dialog-foot button{font-size:10px;padding:9px 12px}.art-dialog-foot span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.board-token,.board-line,.token-shield{transition:none!important}.board-projectile{animation:none!important}.tactic-board[data-scene=potion][data-solved=true] .board-projectile{left:82%;opacity:1}.gallery-card img{transition:none}}

.interactive-nav{display:none}.interactions-ready .interactive-nav{display:block}.interactions-ready .static-nav{display:none}
body.motion-paused .tactic-board[data-scene=potion][data-solved=true] .board-projectile{animation:none!important;left:82%;opacity:1}

.gallery-card>div>span{display:grid;place-items:center}.gallery-card .icon-arrow{width:16px;height:16px}
/* Keep useful copy comfortable to read, including the smallest phone layout. */
.duo-controls legend small{font-size:8px;max-width:125px;text-align:right;line-height:1.4}.duo-choice small{font-size:8px}.future-hero small{font-size:9px}.board-scale{font-size:8px;letter-spacing:.6px}.art-dialog-head .eyebrow{font-size:9px}
@media(max-width:540px){.tactic-question>p,.tactic-options button,.tactic-feedback,.duo-result>p:not(.eyebrow),.duo-tip p,.future-ability p{font-size:12px}.duo-hint,.duo-bottom-note,.future-roster-heading p,.gallery-foot p,.gallery-card small,.art-dialog figcaption{font-size:10px}.duo-controls legend{flex-wrap:wrap}.duo-controls legend small{font-size:8px;letter-spacing:0;max-width:112px}.duo-control-foot button{font-size:11px;gap:10px}.tactic-switcher button span{font-size:11px}.gallery-card b{font-size:13px}.future-ability small{font-size:9px}.art-dialog-head .eyebrow{font-size:8px}.art-dialog-head h2{font-size:28px}.art-close{gap:7px}.duo-choice>span{height:100%}}
@media(max-width:420px){.gallery-grid{grid-template-columns:1fr}.duo-controls{padding:20px 12px}}
