#interior-scene{position:fixed;inset:0;width:100%;height:100%;border:0;z-index:21;background:#171717}#interior-scene[hidden]{display:none}body[data-scene=interior] #app{visibility:hidden}body[data-scene=interior] #poster,body[data-scene=interior] #loadbar,body[data-scene=interior] .wgl-wrap{display:none}.scene-transition{position:fixed;inset:0;z-index:110;overflow:hidden;touch-action:none;cursor:wait}.scene-transition canvas{display:block;width:100%;height:100%}:root{--fg: #d7d7db;--fg-dim: #8a8a93;--danger: #e05f6a;--accent: #e8c069;--accent-soft: rgba(232, 192, 105, .18);--stroke: rgba(255, 255, 255, .12);--hover: rgba(255, 255, 255, .06);--glass-ultrathin: rgba(255, 255, 255, .04);--bg-raised: #1e1e22;--font-body: system-ui, sans-serif;--dur-fast: .12s;--ease-out: cubic-bezier(.2, 0, 0, 1);--dur-bubble-out: .18s;--dur-bubble-in: .42s;--disco-panel-width: min(660px, 57vw)}.player-overlay,.player-overlay:before,.player-overlay:after,.player-overlay *,.player-overlay *:before,.player-overlay *:after{box-sizing:border-box}.player-overlay{position:fixed;inset:0;background:#05060a80;-webkit-backdrop-filter:blur(var(--blur-sm, 12px));backdrop-filter:blur(var(--blur-sm, 12px));display:grid;place-items:center;z-index:50}.player-overlay.is-awaiting-content{visibility:hidden}.player-overlay.is-awaiting-content .player-frame{animation:none}.player-frame{width:75vw;height:75vh;background:var(--glass-thick, rgba(24, 22, 19, .96));border:1px solid var(--stroke, #4a443a);border-radius:var(--r-xl, 5px);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--edge-hi, inset 0 1px 0 rgba(255, 255, 255, .06)),var(--shadow-4, 0 24px 70px rgba(0, 0, 0, .6));animation:player-in var(--dur-slow, .26s) var(--ease-spring, cubic-bezier(.34, 1.35, .64, 1));-webkit-user-select:none;user-select:none}@keyframes player-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.player-titlebar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:transparent;border-bottom:1px solid var(--stroke, #4a443a);flex-shrink:0}.player-transcript{flex:1;overflow-y:auto;padding:22px 26px 22px 136px;color:var(--fg);font-family:var(--font-body);font-size:15px;line-height:1.8;-webkit-overflow-scrolling:touch}@keyframes disco-panel-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:none}}.player-frame.mode-disco{--disco-portrait-size: 112px;--disco-portrait-gutter: 124px;width:var(--disco-panel-width);height:100dvh;min-height:0;align-self:stretch;justify-self:end;overflow:visible;border-radius:0;animation:disco-panel-in .42s cubic-bezier(.2,.7,.3,1)}@keyframes disco-panel-out{0%{opacity:1;transform:none}to{opacity:0;transform:translate(100%)}}.player-frame.mode-disco.is-disco-leaving{animation:disco-panel-out .42s cubic-bezier(.4,0,.8,.3) both;pointer-events:none}.player-frame.mode-disco .player-transcript{width:calc(100% + var(--disco-portrait-gutter));margin-left:calc(-1 * var(--disco-portrait-gutter));padding:22px 22px 22px calc(var(--disco-portrait-gutter) + 22px);overflow-x:hidden;scrollbar-gutter:stable}.player-frame.mode-disco .line-run.has-portrait{min-height:var(--disco-portrait-size)}.player-frame.mode-disco .line-run.has-portrait .line-speaker-name{margin-left:0}.player-frame.mode-disco .line-portrait{z-index:1;left:calc(-1 * var(--disco-portrait-gutter));width:var(--disco-portrait-size);height:var(--disco-portrait-size);box-shadow:0 10px 26px #0000006b}@media(max-width:600px){:root{--disco-panel-width: min(340px, 82vw)}.player-frame.mode-disco{--disco-portrait-size: clamp(44px, 15vw, 78px);--disco-portrait-gutter: clamp(48px, 17vw, 92px)}.player-frame.mode-disco .player-transcript{padding-top:16px;padding-right:14px;padding-bottom:16px;padding-left:calc(var(--disco-portrait-gutter) + 16px)}}@media(prefers-reduced-motion:reduce){.player-frame.mode-disco{animation:none}}.player-frame.mode-speaker{--ink: #1c1613;--paper: #faf5ec;--ink-shadow: rgba(26, 17, 11, .45);background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;height:100%;border-radius:0}.player-frame.mode-speaker .player-titlebar{border-bottom:none}.player-overlay.is-world-speaker,.game-dialog-layer .player-overlay.is-world-speaker{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.player-overlay.is-world-speaker .player-frame.mode-speaker.is-world-speaker{position:relative;overflow:visible;border:0;opacity:1;transform:none;transition:none;animation:none}.player-frame.mode-speaker.is-world-speaker .player-stage{position:absolute;inset:0;z-index:2;display:block;padding:0;pointer-events:none}.player-frame.mode-speaker.is-world-speaker.is-world-fallback .player-stage{display:none}.player-frame.mode-speaker.is-world-speaker .player-speech{position:absolute;z-index:4;width:min(var(--speech-max),calc(100% - 24px));margin:0}.player-frame.mode-speaker.is-world-speaker .player-speech .player-box{max-width:100%}.player-frame.mode-speaker.is-world-speaker.has-world-anchor .player-speech{left:calc(var(--world-head-x) * 100%);bottom:calc(100% - var(--world-head-y) * 100%);height:min(28vh,max(82px,calc(var(--world-head-y) * 100% - 12px)));translate:-50% 0}.player-frame.mode-speaker.is-world-speaker.is-world-fallback .player-speech{top:max(24px,env(safe-area-inset-top));left:50%;height:min(28vh,220px);translate:-50% 0}.player-frame.mode-speaker.is-world-speaker .player-transcript{position:absolute;z-index:3;bottom:max(12px,env(safe-area-inset-bottom));left:50%;width:min(680px,calc(100% - 24px));height:min(40vh,320px);margin:0;translate:-50% 0;pointer-events:none}.player-frame.mode-speaker.is-world-speaker .player-transcript .player-box:not(.is-empty),.player-frame.mode-speaker.is-world-speaker .player-transcript .player-choices,.player-frame.mode-speaker.is-world-speaker .player-transcript .player-hint{pointer-events:auto}.player-frame.mode-speaker.is-world-speaker .player-attached{pointer-events:none}.player-frame.mode-speaker.is-world-speaker .player-attached .choice-option{pointer-events:auto}@media(max-width:600px){.player-frame.mode-speaker.is-world-speaker .player-speech{width:calc(100% - 16px)}.player-frame.mode-speaker.is-world-speaker.has-world-anchor .player-speech{height:min(34vh,max(82px,calc(var(--world-head-y) * 100% - 8px)))}.player-frame.mode-speaker.is-world-speaker .player-transcript{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px);height:min(48vh,360px)}}.player-frame.mode-challenge{--parchment: #f2ead6;--parchment-deep: #e6dabc;--mat: #d7c8a4;--card-line: #4a4034;--header-tan: #cdbb92;--ink-ch: #2b241c;--ink-ch-dim: rgba(43, 36, 28, .55);--hints-paper: #f4efe3;--hints-header: #c8bea8;--hints-accent: #c58b1d;--challenge-display-font: "Calistoga", Georgia, serif;--card-shadow: 0 0 0 1px var(--card-line), inset 0 0 0 1px var(--card-line), 0 9px 12px -6px rgba(6, 5, 3, .8);--paper-dots: radial-gradient(rgba(90, 74, 48, .07) 1px, transparent 1.3px);--paper-lines: repeating-linear-gradient( to bottom, rgba(74, 58, 34, .08) 0 1px, transparent 1px 3px );--paper-band: linear-gradient( 170deg, var(--parchment-deep) 0 20%, var(--parchment) 20% 80%, var(--parchment-deep) 80% 100% );--dither-dark: repeating-conic-gradient(#2e2d31 0% 25%, #45444a 0% 50%);background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;height:100%;border-radius:0;display:grid;grid-template:"title title title" auto ".     left  ." 1fr / 1fr minmax(300px,24%) 1fr;column-gap:24px;padding:0 24px 24px}.player-frame.mode-challenge.has-challenge-middle:not(.has-challenge-hints){grid-template:"title title title title" auto ".     left  mid   ." 1fr / 1fr minmax(300px,24%) minmax(380px,31%) 1fr}.player-frame.mode-challenge.has-challenge-hints:not(.has-challenge-middle){grid-template:"title title title title" auto ".     left  ctx   ." 1fr / 1fr minmax(300px,24%) minmax(300px,24%) 1fr}.player-frame.mode-challenge.has-challenge-middle.has-challenge-hints{grid-template:"title title title title title" auto ".     left  mid   ctx   ." 1fr / 1fr minmax(300px,24%) minmax(380px,31%) minmax(300px,24%) 1fr}.player-frame.mode-challenge .player-titlebar{grid-area:title;border-bottom:none;padding-left:0;padding-right:0}.player-frame.mode-challenge .player-challenge-left{grid-area:left;align-self:center;height:min(34vh,380px);background:var(--paper-lines),var(--mat);border:1px solid var(--card-line);outline:1px solid var(--ink-ch);outline-offset:-7px;box-shadow:0 12px 16px -8px #060503d9;padding:6px;display:flex;flex-direction:column;cursor:default}.player-frame.mode-challenge :is(.player-challenge-left-title,.player-challenge-hints-title){flex:none;min-height:28px;padding:4px 8px 5px;display:flex;align-items:center;gap:7px;color:#2b241cb8;font-family:var(--challenge-display-font);font-size:13px;font-weight:400;letter-spacing:.035em;line-height:1;text-transform:uppercase}.player-frame.mode-challenge .player-challenge-left-title{border-bottom:1px solid var(--card-line)}.player-frame.mode-challenge :is(.player-challenge-left-title,.player-challenge-hints-title)>i{width:18px;flex:none;text-align:center}.player-frame.mode-challenge :is(.player-challenge-left-title,.player-challenge-hints-title):after{content:"";height:14px;flex:1;opacity:.42;background:repeating-linear-gradient(to bottom,transparent 0 2px,currentColor 2px 3px)}.player-frame.mode-challenge .player-challenge-art{position:relative;height:min(13vh,145px);flex-shrink:0;overflow:hidden;margin:0;border-bottom:1px solid var(--card-line);background:var(--dither-dark) top left / 6px 6px;image-rendering:pixelated;transform-origin:top center;animation:challenge-image-in .42s cubic-bezier(.16,1,.3,1) both}@keyframes challenge-image-in{0%{height:0;opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-8px)}to{height:min(13vh,145px);opacity:1;clip-path:inset(0);transform:none}}.player-frame.mode-challenge .player-challenge-art .player-stage-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;transform:none;image-rendering:auto}.player-frame.mode-challenge .player-challenge-art .line-portrait{position:absolute;left:10px;bottom:0;top:auto;margin:0;width:28%;height:86%;object-fit:cover;animation:challenge-portrait-in .56s cubic-bezier(.16,1,.3,1) both;border:none;border-radius:0;background:transparent;z-index:3}@keyframes challenge-portrait-in{0%{opacity:0;transform:translate3d(-20px,18px,0) scale(.72) rotate(-7deg);filter:saturate(.45) brightness(1.18) blur(3px) drop-shadow(0 4px 4px rgba(6,5,3,.45))}55%{opacity:1;transform:translate3d(4px,-2px,0) scale(1.04) rotate(1.5deg);filter:saturate(1.05) brightness(1.02) blur(0) drop-shadow(0 3px 3px rgba(6,5,3,.4))}to{opacity:1;transform:none;filter:none}}@media(prefers-reduced-motion:reduce){.player-frame.mode-challenge .player-challenge-art,.player-frame.mode-challenge .player-challenge-art .line-portrait{animation:none}}.player-frame.mode-challenge .player-challenge-head{overflow:hidden}.player-frame.mode-challenge .player-challenge-name{background:var(--paper-lines),var(--parchment);color:var(--ink-ch);font-family:-apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif;font-weight:800;font-size:15px;letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;border-bottom:1px solid var(--card-line);animation:challenge-name-in .36s cubic-bezier(.16,1,.3,1) both}@keyframes challenge-name-in{0%{transform:translate(-100%)}to{transform:none}}@media(prefers-reduced-motion:reduce){.player-frame.mode-challenge .player-challenge-name{animation:none}}.player-frame.mode-challenge .player-challenge-body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.player-frame.mode-challenge .player-transcript{flex:1;min-height:0;background:var(--paper-lines),var(--paper-band);border-bottom:1px solid var(--card-line);color:var(--ink-ch);padding:14px 16px}.player-frame.mode-challenge .player-transcript .line-portrait{display:none}.player-frame.mode-challenge .player-transcript .line-run.has-portrait{min-height:0}.player-frame.mode-challenge .player-transcript .line-speaker-name{display:none}.player-frame.mode-challenge .player-transcript .line-text{background:none!important;padding-left:0;padding-right:0}.player-frame.mode-challenge .player-challenge-mid{grid-area:mid;position:relative;align-self:center;height:500px;display:grid;place-items:center;overflow:hidden;padding:18px 16px 198px;color:var(--ink-ch);background:var(--paper-dots),var(--parchment);background-size:5px 5px,auto;border:7px solid var(--mat);box-shadow:var(--card-shadow);transition:padding-top .36s cubic-bezier(.16,1,.3,1);animation:challenge-panel-in .68s cubic-bezier(.16,1,.3,1) both}@keyframes challenge-panel-in{0%{opacity:0;transform:translate(42px)}to{opacity:1;transform:none}}.player-frame.mode-challenge .player-challenge-mid.has-title{padding-top:54px}@media(max-height:800px){.player-frame.mode-challenge .player-challenge-mid{height:400px}}.player-frame.mode-challenge .challenge-middle-title{position:absolute;z-index:5;top:0;right:0;left:0;min-height:42px;display:grid;place-items:center;overflow:hidden;padding:8px 18px 7px;color:#fff8e8;background:#93453f;border-bottom:2px solid var(--card-line);box-shadow:0 3px #4a403433;font-family:var(--challenge-display-font);font-size:clamp(16px,1.8vw,25px);font-weight:400;letter-spacing:.04em;line-height:1;text-align:center;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(45,25,20,.6);text-transform:uppercase;white-space:nowrap;animation:challenge-middle-title-in .56s cubic-bezier(.16,1,.3,1) both}@keyframes challenge-middle-title-in{0%{opacity:0;transform:translateY(-110%) scaleY(.78)}72%{opacity:1;transform:translateY(3%) scaleY(1.03)}to{opacity:1;transform:none}}.player-frame.mode-challenge .challenge-middle-radar{position:relative;width:clamp(128px,16vw,205px);max-width:72%;aspect-ratio:1}.player-frame.mode-challenge .challenge-middle-radar.is-rescaling-a>svg{animation:challenge-middle-radar-rescale-a .64s cubic-bezier(.16,1,.3,1);transform-origin:center}.player-frame.mode-challenge .challenge-middle-radar.is-rescaling-b>svg{animation:challenge-middle-radar-rescale-b .64s cubic-bezier(.16,1,.3,1);transform-origin:center}@keyframes challenge-middle-radar-rescale-a{0%{transform:scale(1)}34%{transform:scale(.58)}72%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes challenge-middle-radar-rescale-b{0%{transform:scale(1)}34%{transform:scale(.58)}72%{transform:scale(1.04)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.player-frame.mode-challenge .challenge-middle-radar:is(.is-rescaling-a,.is-rescaling-b)>svg{animation:none}}.player-frame.mode-challenge .challenge-middle-radar>svg{position:absolute;inset:10%;width:80%;height:80%;overflow:visible}.player-frame.mode-challenge .challenge-middle-radar polygon,.player-frame.mode-challenge .challenge-middle-radar path{fill:none;stroke:color-mix(in srgb,var(--parchment) 58%,var(--card-line));stroke-width:2.25;vector-effect:non-scaling-stroke}.player-frame.mode-challenge .challenge-middle-radar .challenge-middle-radar-field{fill:color-mix(in srgb,var(--card-line) 84%,transparent);stroke:var(--card-line);stroke-width:3}.player-frame.mode-challenge .challenge-middle-radar .challenge-middle-radar-profile{fill:#d7a6407a;stroke:#e7bd65;stroke-width:3;filter:drop-shadow(0 1px 2px rgba(24,17,10,.7))}.player-frame.mode-challenge .challenge-middle-radar .challenge-middle-radar-negative{fill:#050505f5;stroke:#e2d6beb8;stroke-width:2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9))}.player-frame.mode-challenge .challenge-middle-radar-point{pointer-events:auto;cursor:default}.player-frame.mode-challenge .challenge-middle-radar-point circle{fill:#f4c84d;stroke:#5a4116;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgba(24,17,10,.8));opacity:0;transition:opacity .12s ease-out}.player-frame.mode-challenge .challenge-middle-radar-point.is-negative circle{fill:#050505;stroke:#e2d6bec7}.player-frame.mode-challenge .challenge-middle-radar-point-label{fill:#f7d36c;stroke:#1f170ef2;stroke-width:3;paint-order:stroke fill;font:900 13px/1 -apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif;letter-spacing:.03em;opacity:0;pointer-events:none;transition:opacity .12s ease-out}.player-frame.mode-challenge .challenge-middle-radar-point.is-active :is(circle,.challenge-middle-radar-point-label){opacity:1}.player-frame.mode-challenge .challenge-middle-radar-point.is-modifier-source :is(circle,.challenge-middle-radar-point-label){fill:#fff;stroke:#231430e6;filter:drop-shadow(0 0 6px #fff)}.player-frame.mode-challenge .challenge-middle-radar-point.is-negative .challenge-middle-radar-point-label{fill:#d8d0c3;stroke:#050505}.player-frame.mode-challenge .challenge-middle-radar-point-label.is-max{fill:#fff9e8;font-size:10px;letter-spacing:.01em}.player-frame.mode-challenge .challenge-middle-radar-max-letter{animation:challenge-middle-radar-max-shimmer 1.8s ease-in-out infinite}.player-frame.mode-challenge .challenge-middle-radar-max-letter:nth-child(2){animation-delay:.18s}.player-frame.mode-challenge .challenge-middle-radar-max-letter:nth-child(3){animation-delay:.36s}@keyframes challenge-middle-radar-max-shimmer{0%,30%,to{fill:#fff9e8}14%{fill:#ffd84d}}@media(prefers-reduced-motion:reduce){.player-frame.mode-challenge .challenge-middle-radar-max-letter{animation:none;fill:#ffd84d}}.player-frame.mode-challenge .challenge-middle-ability{position:absolute;z-index:3;width:clamp(27px,2.8vw,34px);height:clamp(27px,2.8vw,34px);display:grid;place-items:center;color:var(--ink-ch);background:var(--parchment);border:2px solid var(--card-line);border-radius:50%;box-shadow:0 0 0 1px var(--card-line),2px 3px #0a080552;outline:none;transform:translate(-50%,-50%);transform-origin:var(--ability-origin-x) var(--ability-origin-y);transition:transform .17s cubic-bezier(.16,1,.3,1),background-color .15s ease-out}.player-frame.mode-challenge .challenge-middle-ability:hover,.player-frame.mode-challenge .challenge-middle-ability:focus-visible{z-index:8;background:var(--parchment-deep);transform:translate(-50%,-50%) scale(1.12)}.player-frame.mode-challenge .challenge-middle-ability.is-dexterity{--ability-origin-x: 50%;--ability-origin-y: 100%;top:2%;left:50%}.player-frame.mode-challenge .challenge-middle-ability.is-constitution{--ability-origin-x: 0%;--ability-origin-y: 100%;top:27%;left:88%}.player-frame.mode-challenge .challenge-middle-ability.is-charisma{--ability-origin-x: 0%;--ability-origin-y: 0%;top:73%;left:88%}.player-frame.mode-challenge .challenge-middle-ability.is-wisdom{--ability-origin-x: 50%;--ability-origin-y: 0%;top:98%;left:50%}.player-frame.mode-challenge .challenge-middle-ability.is-intelligence{--ability-origin-x: 100%;--ability-origin-y: 0%;top:73%;left:12%}.player-frame.mode-challenge .challenge-middle-ability.is-strength{--ability-origin-x: 100%;--ability-origin-y: 100%;top:27%;left:12%}.player-frame.mode-challenge .challenge-middle-ability-icon{width:100%;height:100%;display:grid;place-items:center;color:var(--ink-ch);background:#ecebea;border-radius:50%;font-size:clamp(12px,1.4vw,17px);line-height:1}.player-frame.mode-challenge .challenge-middle-ability-tip{position:absolute;z-index:10;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:130px;padding:5px 8px;pointer-events:none;color:var(--parchment);background:var(--card-line);border:1px solid var(--parchment-deep);box-shadow:2px 3px #0a080561;font:700 11px/1.1 -apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif;letter-spacing:.04em;opacity:0;text-transform:uppercase;transform:translate(-50%,4px);transition:opacity .14s ease-out,transform .18s cubic-bezier(.16,1,.3,1)}.player-frame.mode-challenge .challenge-middle-ability:hover .challenge-middle-ability-tip,.player-frame.mode-challenge .challenge-middle-ability:focus-visible .challenge-middle-ability-tip{opacity:1;transform:translate(-50%)}.player-frame.mode-challenge .challenge-middle-slots{position:absolute;z-index:4;right:10px;bottom:98px;left:10px;height:clamp(54px,7.5vw,76px);pointer-events:none}.player-frame.mode-challenge .challenge-middle-slot{position:absolute;bottom:0;left:var(--team-slot-left);width:clamp(40px,4.8vw,58px);height:100%;background:linear-gradient(#f2ead614,#d7c8a433),repeating-conic-gradient(#55545a 0% 25%,#69686d 0% 50%) 0 0 / 6px 6px;border:2px solid var(--card-line);box-shadow:inset 0 0 0 3px #f2ead638,0 5px 7px -4px #060503cc;opacity:0;transform:translate(-50%,115%) rotate(calc(var(--team-slot-rotate) - 5deg)) scale(.78);animation:challenge-middle-slot-in .46s cubic-bezier(.16,1,.3,1) both}.player-frame.mode-challenge .challenge-middle-slot.is-assigned{background:var(--parchment-deep)}.player-frame.mode-challenge .challenge-middle-assignment{--assignment-drag-x: 0px;--assignment-drag-y: 0px;--pointer-rotate-x: 0deg;--pointer-rotate-y: 0deg;--assignment-carry-rotate: 0deg;--assignment-return-ms: .28s;position:absolute;z-index:5;top:0;left:0;width:100%;height:100%;overflow:visible;cursor:grab;touch-action:none;pointer-events:auto;transform:translate(var(--assignment-drag-x),var(--assignment-drag-y));animation:challenge-middle-assignment-in .36s cubic-bezier(.16,1,.3,1);transition:top .16s cubic-bezier(.16,1,.3,1),left .16s cubic-bezier(.16,1,.3,1),width .16s cubic-bezier(.16,1,.3,1),height .16s cubic-bezier(.16,1,.3,1),transform .16s cubic-bezier(.16,1,.3,1),box-shadow .16s ease-out,filter .16s ease-out;will-change:transform}.player-frame.mode-challenge .challenge-middle-assignment.is-interaction-disabled{cursor:default}.player-frame.mode-challenge .challenge-middle-assignment.is-blocked:not(.is-returning-home){cursor:not-allowed;filter:grayscale(.6) brightness(.78)}.player-frame.mode-challenge .challenge-middle-assignment:is(:not(.is-dragging):not(.is-returning-home),.is-dragging.is-near-slot) :is(.challenge-team-radar,.challenge-team-level,.challenge-team-health){visibility:hidden;opacity:0}.player-frame.mode-challenge .challenge-middle-assignment:is(:not(.is-dragging):not(.is-returning-home),.is-dragging.is-near-slot) .challenge-team-duty{display:none}.player-frame.mode-challenge .challenge-middle-assignment:is(:not(.is-dragging):not(.is-returning-home),.is-dragging.is-near-slot) .challenge-team-portrait>img{inset:0;width:100%;height:100%;object-fit:cover}.player-frame.mode-challenge .challenge-middle-assignment:is(:not(.is-dragging):not(.is-returning-home),.is-dragging.is-near-slot) .challenge-team-name{min-height:22px;padding:4px 2px 6px;color:var(--ink-ch);font-size:clamp(11px,1vw,13px);font-weight:900;letter-spacing:.01em}.player-frame.mode-challenge .challenge-middle-slot.is-source-dragging{z-index:30}.player-frame.mode-challenge .challenge-team-slot:is(.is-assigned-home,.is-assignment-return-target){visibility:hidden;pointer-events:none}.player-frame.mode-challenge.is-carrying-assignment .player-challenge-mid{z-index:20;overflow:visible}.player-frame.mode-challenge.is-carrying-assignment .challenge-middle-slots{z-index:30}.player-frame.mode-challenge .challenge-middle-assignment.is-dragging,.player-frame.mode-challenge .challenge-middle-assignment.is-returning-home{top:50%;left:50%;width:clamp(108px,10.5vw,154px);height:clamp(136px,18vh,180px)}.player-frame.mode-challenge .challenge-middle-assignment:is(.is-dragging:not(.is-near-slot),.is-returning-home){--slot-counter-rotate: calc(0deg - var(--team-slot-rotate))}.player-frame.mode-challenge .challenge-middle-assignment.is-dragging{z-index:40;cursor:grabbing;animation:none;transition:top .18s cubic-bezier(.16,1,.3,1),left .18s cubic-bezier(.16,1,.3,1),width .18s cubic-bezier(.16,1,.3,1),height .18s cubic-bezier(.16,1,.3,1),filter .16s ease-out;filter:brightness(1.08) saturate(1.06);box-shadow:none;transform:translate(-50%,-50%) translate(var(--assignment-drag-x),var(--assignment-drag-y)) rotate(var(--assignment-carry-rotate))}.player-frame.mode-challenge .challenge-middle-assignment.is-dragging.is-near-slot{top:0;left:0;width:100%;height:100%;filter:brightness(1.13);transform:translate(var(--assignment-drag-x),var(--assignment-drag-y)) rotate(var(--assignment-carry-rotate))}.player-frame.mode-challenge .challenge-middle-assignment.is-returning-home{z-index:40;animation:none;transition:top var(--assignment-return-ms) cubic-bezier(.16,1,.3,1),left var(--assignment-return-ms) cubic-bezier(.16,1,.3,1),width var(--assignment-return-ms) cubic-bezier(.16,1,.3,1),height var(--assignment-return-ms) cubic-bezier(.16,1,.3,1),transform var(--assignment-return-ms) cubic-bezier(.16,1,.3,1),filter var(--assignment-return-ms) ease-out;transform:translate(-50%,-50%) translate(var(--assignment-drag-x),var(--assignment-drag-y)) rotate(var(--assignment-carry-rotate))}.player-frame.mode-challenge .challenge-middle-assignment.is-measuring-return{transition:none!important}@keyframes challenge-middle-assignment-in{0%{opacity:0;filter:brightness(1.25)}to{opacity:1;filter:none}}.player-frame.mode-challenge .challenge-auto-assignment-flight{--pointer-rotate-x: 0deg;--pointer-rotate-y: 0deg;--slot-counter-rotate: 0deg;position:fixed;z-index:70;margin:0;pointer-events:none;transform-origin:center;will-change:transform,opacity}.player-frame.mode-challenge .challenge-auto-assignment-flight>.challenge-team-scale{transform:none;transition:none}.player-frame.mode-challenge :is(.challenge-auto-assignment-flight,.is-auto-assignment-source) .challenge-team-card{animation:none}.player-frame.mode-challenge .is-auto-assignment-source{visibility:hidden!important;pointer-events:none!important}.player-frame.mode-challenge .challenge-middle-clear{position:absolute;z-index:6;bottom:55px;left:50%;min-height:34px;padding:5px 14px;color:var(--ink-ch);background:transparent;border:none;font:400 12px/1 var(--challenge-display-font);letter-spacing:.055em;text-transform:uppercase;transform:translate(-50%);white-space:nowrap;border-radius:4px;transition:background-color 70ms ease-out,box-shadow 70ms ease-out,transform 70ms ease-out}.player-frame.mode-challenge .challenge-middle-clear:before{content:"×";display:inline-grid;width:20px;height:20px;margin-right:7px;place-items:center;color:var(--parchment);background:var(--card-line);border-radius:50%;vertical-align:-2px;box-shadow:0 2px #0a080552;transition:box-shadow 70ms ease-out,transform 70ms ease-out}.player-frame.mode-challenge .challenge-middle-clear:hover:not(:disabled),.player-frame.mode-challenge .challenge-middle-clear:focus-visible{background:color-mix(in srgb,var(--header-tan) 58%,transparent)}.player-frame.mode-challenge .challenge-middle-clear:active:not(:disabled),.player-frame.mode-challenge .challenge-middle-clear.is-pressed{background:color-mix(in srgb,var(--header-tan) 82%,var(--card-line));box-shadow:inset 0 3px 7px #0a080547;transform:translate(-50%) translateY(2px) scale(.97)}.player-frame.mode-challenge .challenge-middle-clear:active:not(:disabled):before,.player-frame.mode-challenge .challenge-middle-clear.is-pressed:before{box-shadow:none;transform:translateY(1px) scale(.88)}.player-frame.mode-challenge .challenge-middle-clear:disabled{cursor:default;opacity:.38}.player-frame.mode-challenge .challenge-middle-actions{position:absolute;z-index:7;right:0;bottom:0;left:0;height:48px;display:grid;grid-template-columns:1fr 1fr;background:var(--header-tan);border-top:2px solid var(--card-line)}.player-frame.mode-challenge .challenge-middle-action{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ink-ch);background:transparent;border:none;font:400 13px/1 var(--challenge-display-font);letter-spacing:.06em;text-transform:uppercase;transition:background-color 70ms ease-out,box-shadow 70ms ease-out,transform 70ms ease-out}.player-frame.mode-challenge .challenge-middle-slot.is-drop-target{border-color:color-mix(in srgb,#d7a640 72%,var(--card-line));box-shadow:inset 0 0 0 3px #fff0b657,0 0 18px #d7a64094;filter:brightness(1.18)}.player-frame.mode-challenge .challenge-middle-action+.challenge-middle-action{border-left:1px solid color-mix(in srgb,var(--card-line) 45%,transparent)}.player-frame.mode-challenge .challenge-middle-action:hover,.player-frame.mode-challenge .challenge-middle-action:focus-visible{background:color-mix(in srgb,var(--parchment) 48%,transparent)}.player-frame.mode-challenge .challenge-middle-action.is-embark:hover,.player-frame.mode-challenge .challenge-middle-action.is-embark:focus-visible{background:color-mix(in srgb,#9d7137 32%,var(--parchment))}.player-frame.mode-challenge .challenge-middle-action:active,.player-frame.mode-challenge .challenge-middle-action.is-pressed{background:color-mix(in srgb,var(--parchment) 72%,var(--card-line));box-shadow:inset 0 4px 9px #0a080557;transform:translateY(2px)}.player-frame.mode-challenge .challenge-middle-action.is-embark:active,.player-frame.mode-challenge .challenge-middle-action.is-embark.is-pressed{background:color-mix(in srgb,#9d7137 58%,var(--parchment))}.player-frame.mode-challenge .challenge-middle-action kbd{min-width:27px;padding:4px 6px;color:var(--parchment);background:var(--card-line);border:1px solid var(--parchment-deep);border-radius:999px;box-shadow:0 2px #0a080552;font:400 9px/1 var(--challenge-display-font);letter-spacing:0;text-transform:none;transition:box-shadow 70ms ease-out,transform 70ms ease-out}.player-frame.mode-challenge .challenge-middle-action:is(:active,.is-pressed) kbd{box-shadow:0 0 #0a080500;transform:translateY(2px) scale(.96)}.player-frame.mode-challenge .challenge-middle-embark-tip{position:absolute;right:8px;bottom:calc(100% + 8px);width:max-content;max-width:min(230px,82vw);padding:7px 10px;color:var(--parchment);background:var(--card-line);border:1px solid var(--parchment-deep);box-shadow:3px 4px #0a080559;font:700 11px/1.2 -apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif;text-transform:none;animation:challenge-assignment-warning-in .18s cubic-bezier(.16,1,.3,1) both}.player-frame.mode-challenge .player-challenge-mid.needs-assignment:not(.has-denied-assignment) .challenge-middle-slots{animation:challenge-assignment-slots-wiggle .46s ease-in-out}.player-frame.mode-challenge .player-challenge-mid.needs-assignment.has-denied-assignment .challenge-middle-slot.is-denied{animation:challenge-assignment-slots-wiggle .46s ease-in-out}.player-frame.mode-challenge .player-challenge-mid.needs-assignment .challenge-middle-action.is-embark{animation:challenge-assignment-button-shake .42s ease-in-out}@keyframes challenge-assignment-warning-in{0%{opacity:0;transform:translateY(5px) scale(.94)}}@keyframes challenge-assignment-slots-wiggle{0%,to{translate:0}20%{translate:-5px}40%{translate:5px}60%{translate:-3px}80%{translate:3px}}@keyframes challenge-assignment-button-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px) rotate(-1deg)}50%{transform:translate(4px) rotate(1deg)}75%{transform:translate(-2px)}}@keyframes challenge-middle-slot-in{68%{opacity:1;transform:translate(-50%,-4%) rotate(calc(var(--team-slot-rotate) + 1deg)) scale(1.025)}to{opacity:1;transform:translate(-50%) rotate(var(--team-slot-rotate)) scale(1)}}.player-frame.mode-challenge .player-challenge-hints{grid-area:ctx;align-self:center;height:min(32vh,340px);padding:6px;display:flex;flex-direction:column;background-color:var(--hints-header);background-image:var(--paper-lines);border:1px solid var(--card-line);outline:1px solid rgba(43,36,28,.72);outline-offset:-7px;box-shadow:0 12px 16px -8px #060503d9;color:var(--ink-ch);overflow:hidden;font-family:Avenir Next Condensed,Arial Narrow,Roboto Condensed,-apple-system,Segoe UI,sans-serif;font-size:clamp(16px,1.35vw,19px);font-weight:600;line-height:1.45;animation:challenge-panel-in .68s cubic-bezier(.16,1,.3,1) both}.player-frame.mode-challenge .player-challenge-hints-flow{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:safe center;gap:24px;overflow-y:auto;padding:0 12px;background-color:var(--hints-paper);background-image:linear-gradient(to bottom,transparent 0 62%,rgba(91,77,53,.045) 100%),var(--paper-dots);background-size:auto,5px 5px;border:1px solid var(--card-line);scrollbar-width:thin;scrollbar-color:rgba(43,36,28,.35) transparent}.player-frame.mode-challenge .player-challenge-hints-entry{--challenge-hints-shift-y: 0px;flex:none;min-width:0;transform:translateY(var(--challenge-hints-shift-y));transition:transform .52s cubic-bezier(.16,1,.3,1);animation:challenge-hints-entry-in .42s cubic-bezier(.16,1,.3,1) both}.player-frame.mode-challenge .player-challenge-hints-entry.is-layout-shifted{transition:none}.player-frame.mode-challenge .player-challenge-hints-entry:first-child{animation-delay:.68s}@keyframes challenge-hints-entry-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(var(--challenge-hints-shift-y))}}.player-frame.mode-challenge .player-challenge-hints-flow .line-text{width:100%;margin:0;padding-left:14px;position:relative}.player-frame.mode-challenge .player-challenge-hints-flow .line-text:last-child{margin-bottom:0}.player-frame.mode-challenge .player-challenge-hints-flow .line-text:before{content:">";position:absolute;top:.02em;left:0;color:var(--ink-ch-dim);font-weight:700}.player-frame.mode-challenge{position:relative}.player-frame.mode-challenge .player-challenge-left,.player-frame.mode-challenge .player-challenge-mid,.player-frame.mode-challenge .player-challenge-hints{transition:translate .62s cubic-bezier(.16,1,.3,1)}.player-frame.mode-challenge.has-team .player-challenge-left,.player-frame.mode-challenge.has-team .player-challenge-mid,.player-frame.mode-challenge.has-team .player-challenge-hints{translate:0 -30%}.player-frame.mode-challenge .challenge-team{position:absolute;z-index:8;inset:50% 0 0;pointer-events:none}.player-frame.mode-challenge .challenge-team-slot{--speaker-color: #76523e;--drag-x: 0px;--drag-y: 0px;--carry-rotate: 0deg;--pointer-rotate-x: 0deg;--pointer-rotate-y: 0deg;--card-lift: 0px;--card-scale: 1;--card-scale-origin-x: 50%;--card-scale-origin-y: 50%;position:absolute;top:50%;left:50%;width:clamp(108px,10.5vw,154px);height:clamp(136px,18vh,180px);cursor:grab;pointer-events:auto;touch-action:none;transform:translate(calc(-50% + var(--drag-x)),calc(-50% + var(--drag-y))) rotate(var(--carry-rotate));transition:left .56s cubic-bezier(.16,1,.3,1),transform .56s cubic-bezier(.16,1,.3,1);animation:challenge-teammate-in .62s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--team-entry-delay, 0ms);user-select:none;will-change:transform}.player-frame.mode-challenge .challenge-team-slot.is-interaction-disabled{cursor:default}.player-frame.mode-challenge .challenge-team-slot.is-blocked{cursor:not-allowed}.player-frame.mode-challenge .challenge-team-slot.is-blocked .challenge-team-scale{opacity:.62;filter:grayscale(.6) brightness(.78)}.player-frame.mode-challenge .challenge-team-slot.is-entered{animation:none}.player-frame.mode-challenge .challenge-team-slot.is-dragging{--card-lift: -10px;--card-scale: 1.055;z-index:30;cursor:grabbing;transition:left .56s cubic-bezier(.16,1,.3,1),transform 70ms ease-out}.player-frame.mode-challenge .challenge-team-slot.is-dragging.is-over-assignment{--card-lift: 0px;--card-scale: .4}.player-frame.mode-challenge .challenge-team-slot.is-returning{z-index:20;transition:left .62s cubic-bezier(.16,1,.3,1),transform .62s cubic-bezier(.16,1,.3,1)}.player-frame.mode-challenge .challenge-team-slot:after{content:"";position:absolute;right:8%;bottom:-12px;left:8%;height:16px;pointer-events:none;border:2px solid color-mix(in srgb,var(--speaker-color) 58%,var(--parchment));border-radius:50%;opacity:0;transform:scale(.3)}.player-frame.mode-challenge .challenge-team-slot.is-returning:after{animation:challenge-teammate-landing-ring .62s cubic-bezier(.16,1,.3,1)}@keyframes challenge-teammate-landing-ring{28%{opacity:.55}to{opacity:0;transform:scale(1.35)}}@keyframes challenge-teammate-in{0%{opacity:0;transform:translate(-50%,65%) scale(.88)}70%{opacity:1;transform:translate(-50%,-53%) scale(1.015)}to{opacity:1;transform:translate(-50%,-50%)}}.player-frame.mode-challenge .challenge-team-scale{position:relative;width:100%;height:100%;transform:translateY(var(--card-lift, 0px)) scale(var(--card-scale, 1));transform-origin:var(--card-scale-origin-x) var(--card-scale-origin-y);transition:transform .17s cubic-bezier(.16,1,.3,1);will-change:transform}.player-frame.mode-challenge .challenge-team-card{position:relative;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:transparent;border:0;outline:0;box-shadow:none;transform:perspective(700px) rotate(var(--slot-counter-rotate, 0deg)) rotateX(var(--pointer-rotate-x)) rotateY(var(--pointer-rotate-y));transform-style:preserve-3d;transform-origin:center;transition:transform .17s cubic-bezier(.16,1,.3,1),filter .18s ease-out;will-change:transform}.player-frame.mode-challenge .challenge-team-slot.is-dragging .challenge-team-card{filter:brightness(1.08) saturate(1.08)}.player-frame.mode-challenge .challenge-team-slot.is-returning .challenge-team-card{animation:challenge-teammate-land .62s cubic-bezier(.16,1,.3,1)}@keyframes challenge-teammate-land{0%{filter:brightness(1.08) saturate(1.08)}70%{filter:brightness(1.14)}to{filter:none}}.player-frame.mode-challenge .challenge-team-duty{position:absolute;z-index:6;top:7px;left:50%;max-width:calc(100% - 18px);min-height:0;padding:4px 10px 3px;overflow:hidden;color:#f8f2e4;background:#6c6257;border:2px solid color-mix(in srgb,var(--card-line) 76%,#f8f2e4);border-radius:999px;box-shadow:2px 3px #16110cb3;font:800 10px/1.2 -apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif;letter-spacing:.09em;text-align:center;text-overflow:ellipsis;text-transform:uppercase;transform:translate(-50%) rotate(-1deg);white-space:nowrap}.player-frame.mode-challenge .challenge-team-duty.is-travelling{background:#a56732}.player-frame.mode-challenge .challenge-team-duty.is-busy{background:#93453f}.player-frame.mode-challenge .challenge-team-duty.is-recovering{background:#5e7447}.player-frame.mode-challenge .challenge-team-duty.is-off-day{background:#67557f}.player-frame.mode-challenge .challenge-team-portrait{position:relative;flex:1 1 auto;min-height:0;overflow:visible;background:transparent}.player-frame.mode-challenge .challenge-team-portrait>img{position:absolute;inset:3px 3px 0;width:calc(100% - 6px);height:calc(100% - 3px);object-fit:contain;object-position:center bottom;filter:drop-shadow(0 3px 1px rgba(10,8,5,.5)) drop-shadow(0 8px 5px rgba(10,8,5,.48))}.challenge-portrait-speech{--portrait-bubble-ink: #2b241c;--portrait-bubble-paper: #f7f0dc;position:fixed;z-index:2147483000;display:flex;flex-direction:column;box-sizing:border-box;color:var(--portrait-bubble-ink);line-height:1.45;pointer-events:auto;cursor:default;transform:translateY(-100%);transform-origin:var(--challenge-tail-x, 50%) 100%;animation:challenge-portrait-bubble-in .42s linear both}.challenge-portrait-speech.is-leaving{pointer-events:none;animation:challenge-portrait-bubble-out .32s cubic-bezier(.55,0,1,.45) both}.challenge-portrait-bubble{position:relative;z-index:2;box-sizing:border-box;overflow:auto;padding:15px 21px 17px;background:repeating-linear-gradient(to bottom,rgba(74,58,34,.045) 0 1px,transparent 1px 4px),var(--portrait-bubble-paper);border-radius:34px 40px 32px 43px/28px 24px 31px 23px;box-shadow:inset 0 0 0 3px var(--portrait-bubble-ink),5px 6px #16110cbd,0 14px 24px -12px #060503d1;scrollbar-width:thin}.challenge-portrait-speech .line-speaker-name{display:inline-block;margin:0 0 7px;padding:3px 12px 2px;color:#171310!important;background:var(--challenge-accent, var(--portrait-bubble-paper));border:2px solid var(--portrait-bubble-ink);border-radius:999px;box-shadow:2px 2px #16110ca6;font-size:.68em;font-weight:800;letter-spacing:.12em;line-height:1.25;text-transform:uppercase;transform:rotate(-1.5deg)}.challenge-portrait-speech .line-speaker-colon{display:none}.challenge-portrait-speech .line-text.with-speaker{margin:0;padding:0;color:var(--portrait-bubble-ink);background:none!important}.challenge-portrait-speech .line-text:after{content:"";display:inline-block;width:11px;height:13px;margin-left:7px;vertical-align:middle;background:var(--portrait-bubble-ink);clip-path:path("M 0 0.5 C 1.7 4 1.7 9 0 12.5 C 4.4 10 7.6 7.7 11 6.6 C 7.6 5.3 4.4 3 0 0.5 Z");opacity:0;transition:opacity var(--dur-fast, .14s) var(--ease-out, ease-out)}.challenge-portrait-speech.awaits .line-text:after{opacity:1;animation:hint-mark-bob 1.5s var(--ease-out, ease-in-out) infinite}.challenge-portrait-tail{position:relative;z-index:3;width:30px;height:28px;flex:none;margin-top:-3px;margin-left:clamp(0px,calc(var(--challenge-tail-x, 50%) - 15px),calc(100% - 30px))}.challenge-portrait-tail:before,.challenge-portrait-tail:after{content:"";position:absolute;inset:0}.challenge-portrait-tail:before{background:var(--portrait-bubble-ink);clip-path:path("M 2 0 C 8 8 11 19 15 28 C 19 19 22 8 28 0 Z")}.challenge-portrait-tail:after{top:-4px;background:var(--portrait-bubble-paper);clip-path:path("M 6 0 C 10 9 12.5 18 15 24 C 17.5 18 20 9 24 0 Z")}@keyframes challenge-portrait-bubble-in{0%{opacity:0;transform:translateY(-100%) scale(.62) rotate(-2.2deg);animation-timing-function:cubic-bezier(.16,.84,.28,1)}42%{opacity:1;transform:translateY(-100%) scale(1.045) rotate(1.25deg);animation-timing-function:ease-in-out}68%{transform:translateY(-100%) scale(.982) rotate(-.55deg);animation-timing-function:ease-in-out}86%{transform:translateY(-100%) scale(1.008) rotate(.2deg)}to{opacity:1;transform:translateY(-100%) scale(1) rotate(0)}}@keyframes challenge-portrait-bubble-out{0%{opacity:1;transform:translateY(-100%) scale(1) rotate(0)}24%{opacity:1;transform:translateY(-100%) scale(1.035) rotate(-.6deg)}to{opacity:0;transform:translateY(-100%) scale(.58) rotate(2.4deg)}}@media(max-width:600px){.challenge-portrait-bubble{padding:13px 17px 15px}}@media(prefers-reduced-motion:reduce){.challenge-portrait-speech,.challenge-portrait-speech.awaits .line-text:after{animation:none}}.player-frame.mode-challenge .challenge-team-name{position:relative;z-index:2;flex:0 0 auto;box-sizing:border-box;min-height:31px;padding:7px 8px;overflow:hidden;color:var(--speaker-color);background:var(--paper-lines),var(--parchment);border:2px solid var(--card-line);outline:1px solid rgba(242,234,214,.75);outline-offset:-5px;box-shadow:0 6px 9px -5px #060503db;font-size:clamp(11px,1vw,15px);font-weight:800;letter-spacing:.025em;line-height:1;text-align:center;text-transform:uppercase;white-space:nowrap}.player-frame.mode-challenge .challenge-team-xp{position:absolute;z-index:3;left:0;bottom:0;width:var(--xp-progress, 0%);height:5px;background:color-mix(in srgb,var(--speaker-color) 78%,#d8bb5d);border-top:1px solid color-mix(in srgb,var(--speaker-color) 72%,var(--card-line));transition:width .48s var(--ease-out)}.player-frame.mode-challenge .challenge-team-level{position:absolute;z-index:5;right:3px;bottom:3px;width:34px;height:34px;display:grid;place-items:center;color:var(--ink-ch);background:var(--parchment);border:2px solid var(--card-line);border-radius:50%;box-shadow:2px 3px #0c0a0873;font:900 14px/1 -apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif}.player-frame.mode-challenge .challenge-team-level.is-max{color:#72521a;background:#f3df8f;font-size:20px}.player-frame.mode-challenge .challenge-team-radar{position:absolute;z-index:3;left:3px;bottom:3px;width:34px;height:34px;overflow:visible;color:var(--ink-ch);background:transparent;filter:drop-shadow(1px 2px 0 rgba(12,10,8,.38))}.player-frame.mode-challenge .challenge-team-radar>div,.player-frame.mode-challenge .challenge-team-radar svg{width:100%;height:100%;overflow:visible}.player-frame.mode-challenge .challenge-team-health{position:absolute;z-index:7;right:calc(100% + 7px);bottom:10px;width:40px;color:#f2ead6;filter:drop-shadow(2px 3px 0 rgba(8,6,4,.5))}.player-frame.mode-challenge .challenge-team-health-vial{position:relative;width:36px;height:48px;margin:0 auto;overflow:hidden;background:#403b37;border:2px solid #e8ddc3;clip-path:polygon(20% 0,80% 0,100% 18%,100% 82%,80% 100%,20% 100%,0 82%,0 18%)}.player-frame.mode-challenge .challenge-team-health-fill{position:absolute;left:0;right:0;bottom:0;height:var(--health-missing);background:#a73c37;transition:height .42s var(--ease-out)}.player-frame.mode-challenge .challenge-team-health-cross{position:absolute;inset:0;display:grid;place-items:center;color:#f7eee0;font:900 25px/1 -apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif;text-shadow:0 1px 0 #3c1917}.player-frame.mode-challenge .challenge-team-health-text{display:block;margin-top:3px;color:#f7eee0;font:800 10px/1 -apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif;text-align:center;text-shadow:0 1px 2px #000;white-space:nowrap}.player-frame.mode-challenge .challenge-team-health.is-dire{color:#ff645b;animation:challenge-health-dire .38s ease-in-out infinite}.player-frame.mode-challenge .challenge-team-health.is-dire .challenge-team-health-vial{background:#701f1d;border-color:#ff8e84}.player-frame.mode-challenge .challenge-team-health.is-dire .challenge-team-health-fill{background:#e3443d}@keyframes challenge-health-dire{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-2px) rotate(-2deg)}75%{transform:translate(2px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){.player-frame.mode-challenge .player-challenge-left,.player-frame.mode-challenge .player-challenge-mid,.player-frame.mode-challenge .player-challenge-hints,.player-frame.mode-challenge .player-challenge-hints-entry,.player-frame.mode-challenge .challenge-middle-title,.player-frame.mode-challenge .challenge-middle-slot,.player-frame.mode-challenge .challenge-middle-assignment,.player-frame.mode-challenge .challenge-middle-slots,.player-frame.mode-challenge .challenge-middle-embark-tip,.player-frame.mode-challenge .challenge-middle-action.is-embark,.player-frame.mode-challenge .challenge-middle-ability,.player-frame.mode-challenge .challenge-middle-ability-tip,.player-frame.mode-challenge .challenge-team-slot,.player-frame.mode-challenge .challenge-team-scale,.player-frame.mode-challenge .challenge-team-card,.player-frame.mode-challenge .challenge-team-card:after,.player-frame.mode-challenge .challenge-team-slot.is-returning .challenge-team-card,.player-frame.mode-challenge .challenge-team-slot.is-returning:after,.player-frame.mode-challenge .challenge-team-xp,.player-frame.mode-challenge .challenge-team-health,.player-frame.mode-challenge .challenge-team-health-fill{animation:none;transition:none}.player-frame.mode-challenge .challenge-team-slot{transform:translate(calc(-50% + var(--drag-x)),calc(-50% + var(--drag-y)))}.player-frame.mode-challenge .challenge-team-scale,.player-frame.mode-challenge .challenge-team-card{transform:none}}.player-frame.mode-challenge .player-challenge-caret{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--ink-ch);font-family:-apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:18px;font-weight:800;line-height:1;user-select:none;cursor:pointer;animation:caret-pop .34s cubic-bezier(.2,1.6,.4,1) both,caret-beckon 1.5s ease-in-out .34s infinite}@keyframes caret-pop{0%{opacity:0;transform:translateY(-50%) translate(-10px) scale(.3)}60%{opacity:1;transform:translateY(-50%) translate(3px) scale(1.25)}to{opacity:1;transform:translateY(-50%)}}@keyframes caret-beckon{0%,to{opacity:1;transform:translateY(-50%)}50%{opacity:.45;transform:translateY(-50%) translate(4px)}}.player-frame.mode-challenge .player-challenge-caret.is-leaving{animation:caret-away .26s cubic-bezier(.5,0,1,1) both}@keyframes caret-away{0%{opacity:1;transform:translateY(-50%)}30%{opacity:1;transform:translateY(-50%) translate(-4px) scale(.85)}to{opacity:0;transform:translateY(-50%) translate(22px) scale(1.1)}}@media(prefers-reduced-motion:reduce){.player-frame.mode-challenge .player-challenge-caret,.player-frame.mode-challenge .player-challenge-caret.is-leaving{animation:none}}.player-frame.mode-challenge .player-status,.player-frame.mode-challenge .line-end{color:var(--ink-ch-dim)}.player-frame.mode-challenge .line-client{color:#4a5a3a;border-left-color:var(--card-line)}.player-frame.mode-challenge .line-error{color:#8c2f22}.player-frame.mode-challenge .choice-option{background:var(--parchment);border:2px solid var(--card-line);border-radius:3px;color:var(--ink-ch);box-shadow:3px 3px #0c0a0859}.player-frame.mode-challenge .choice-option:hover:not(:disabled):not(.unavailable){background:var(--header-tan);border-color:var(--card-line)}.player-frame.mode-challenge .choice-option.selected{background:var(--parchment-deep);border-color:var(--card-line);color:var(--ink-ch)}.player-frame.mode-challenge .choice-subtext,.player-frame.mode-challenge .choice-unavailable-reason{color:var(--ink-ch-dim)}.player-frame.mode-challenge .freetext-input{background:#fffcf499;border:2px solid var(--card-line);color:var(--ink-ch)}.player-frame.mode-challenge .freetext-input::placeholder{color:var(--ink-ch-dim)}.player-frame.mode-challenge .freetext-answer{color:var(--ink-ch)}@media(max-width:860px){.player-frame.mode-challenge{grid-template:"title" auto "left" 1fr / 1fr;column-gap:0;row-gap:14px;padding:0 14px 14px}.player-frame.mode-challenge.has-challenge-middle:not(.has-challenge-hints){grid-template:"title" auto "left" 1fr "mid" 50px / 1fr}.player-frame.mode-challenge.has-challenge-hints:not(.has-challenge-middle){grid-template:"title" auto "left" 1fr "ctx" minmax(120px,30%) / 1fr}.player-frame.mode-challenge.has-challenge-middle.has-challenge-hints{grid-template:"title" auto "left" 1fr "mid" 50px "ctx" minmax(120px,30%) / 1fr}.player-frame.mode-challenge .player-challenge-mid{display:block;align-self:stretch;height:50px;padding:0}.player-frame.mode-challenge .player-challenge-mid>:not(.challenge-middle-actions){display:none}.player-frame.mode-challenge .player-challenge-mid :is(.challenge-middle-slot,.challenge-middle-assignment){animation:none}.player-frame.mode-challenge.has-team .player-challenge-mid{translate:0}.player-frame.mode-challenge .player-challenge-left,.player-frame.mode-challenge .player-challenge-hints{align-self:stretch;height:auto}.player-frame.mode-challenge.has-team{padding-bottom:min(28vh,205px)}.player-frame.mode-challenge.has-team .player-challenge-left,.player-frame.mode-challenge.has-team .player-challenge-hints{translate:0 -8%}.player-frame.mode-challenge .challenge-team{top:auto;height:min(28vh,205px)}.player-frame.mode-challenge .challenge-team-slot{top:50%;width:clamp(92px,24vw,118px);height:clamp(120px,19vh,152px);left:var(--mobile-team-left)!important}.player-frame.mode-challenge .challenge-team-health{inset:28px auto auto 2px}.player-frame.mode-challenge .challenge-team-health-vial{width:30px;height:40px}}.player-speech{position:relative;z-index:3;translate:var(--speech-shift-x, 0px) calc(var(--speech-shift-y, 0px) + var(--speech-image-y, 0px));flex:0 0 auto;height:19%;box-sizing:border-box;--speech-max: 560px;width:min(var(--speech-max),100%);padding:0 8px;align-self:center;display:flex;flex-direction:column-reverse;overflow-y:auto;scrollbar-gutter:stable}.player-speech[data-placement=left],.player-speech[data-placement=right]{overflow:visible}.player-speech[data-placement=left]>.player-tail,.player-speech[data-placement=right]>.player-tail{visibility:hidden}.player-side-tail{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1;fill:var(--paper);stroke:var(--ink);stroke-width:2.5px}.player-tail{--tail-w: 34px;--tail-point: calc(var(--tail-w) * (.5 - var(--tail-lean, 1) * .28));position:relative;z-index:1;flex:none;align-self:flex-start;margin-left:clamp(0px,calc(var(--tail-x, .5) * 100% - var(--tail-point)),calc(100% - var(--tail-w)));width:var(--tail-w);height:30px}.player-tail:before,.player-tail:after{content:"";position:absolute;transform:scaleX(var(--tail-lean, 1))}.player-tail:before{inset:0;background:var(--ink);clip-path:path("M 4 0 L 30 0 C 25.5 10 16 20 7.5 30 C 10.5 20 7.6 10 4 0 Z")}.player-tail:after{inset:-5px 0 0;background:var(--paper);clip-path:path("M 7 0 L 27 0 C 23.3 13 15.6 23.5 8.9 32.4 C 11 22.5 9.2 12.5 7 0 Z")}.player-speech.has-speech{transform-origin:bottom center;animation:bubble-in var(--dur-bubble-in, .42s) linear both}@keyframes bubble-in{0%{opacity:0;transform:scale(.6) rotate(-2.4deg);animation-timing-function:cubic-bezier(.16,.84,.28,1)}40%{opacity:1;transform:scale(1.055) rotate(1.7deg);animation-timing-function:ease-in-out}64%{transform:scale(.976) rotate(-.85deg);animation-timing-function:ease-in-out}84%{transform:scale(1.012) rotate(.32deg);animation-timing-function:ease-in-out}to{opacity:1;transform:scale(1) rotate(0)}}.player-speech.has-speech.is-leaving{animation:bubble-out var(--dur-bubble-out, .18s) linear both}@keyframes bubble-out{0%{opacity:1;transform:scale(1) rotate(0);animation-timing-function:ease-out}26%{opacity:.96;transform:scale(1.03) rotate(1.1deg);animation-timing-function:cubic-bezier(.6,0,.9,.4)}to{opacity:0;transform:scale(.66) rotate(-2.2deg)}}@media(prefers-reduced-motion:reduce){.player-speech.has-speech,.player-speech.has-speech.is-leaving{animation:none}}.player-frame.mode-speaker .player-speech .player-flow{top:auto;bottom:0;z-index:1;padding:15px 32px 17px;text-align:left;line-height:1.55}.player-frame.mode-speaker .player-speech .line-speaker-name{display:inline-block;margin:0 0 8px;padding:3px 15px 2px;background:var(--speech-accent, var(--paper));color:#171310!important;font-size:.72em;font-weight:800;letter-spacing:.14em;text-transform:uppercase;border:2px solid var(--ink);border-radius:999px;transform:rotate(-2deg);box-shadow:2px 2px 0 var(--ink-shadow)}.player-frame.mode-speaker .player-speech .line-speaker-colon{display:none}.player-frame.mode-speaker .player-speech .player-flow>:last-child{margin-bottom:0}.player-frame.mode-speaker .player-speech .line-text.with-speaker{background:none!important;padding:0}.player-frame.mode-speaker .player-speech .player-box{flex:none;align-self:flex-start;width:var(--speech-w, 100%);margin-left:clamp(0px,calc(var(--tail-x, .5) * 100% - var(--speech-w, 100%) / 2),calc(100% - var(--speech-w, 100%)));color:var(--ink);background:var(--paper);border:none;border-radius:46px 52px 44px 56px/30px 26px 34px 24px;box-shadow:inset 0 0 0 3px var(--ink),5px 6px 0 var(--ink-shadow);transition:height var(--dur-slow, .26s) var(--ease-out, cubic-bezier(.2, 0, 0, 1)),width var(--dur-slow, .26s) var(--ease-out, cubic-bezier(.2, 0, 0, 1)),margin-left var(--dur-slow, .26s) var(--ease-out, cubic-bezier(.2, 0, 0, 1))}.player-frame.mode-speaker .player-speech.is-fresh .player-box{transition:none}.player-frame.mode-speaker .player-speech .line-text:after{content:"";display:inline-block;width:11px;height:13px;margin-left:7px;vertical-align:middle;background:var(--ink);clip-path:path("M 0 0.5 C 1.7 4 1.7 9 0 12.5 C 4.4 10 7.6 7.7 11 6.6 C 7.6 5.3 4.4 3 0 0.5 Z");opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.player-frame.mode-speaker .player-speech.awaits .line-text:after{opacity:1;animation:hint-mark-bob 1.5s var(--ease-out, ease-in-out) infinite}@keyframes hint-mark-bob{0%,to{transform:none;opacity:1}50%{transform:translate(3px);opacity:.45}}@media(prefers-reduced-motion:reduce){.player-frame.mode-speaker .player-speech.awaits .line-text:after{animation:none}}.player-stage{flex:1;position:relative;min-height:0;display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);align-items:end;justify-items:center;box-sizing:border-box;padding:20px 20px 0;overflow:visible}.player-stage-img{display:block;position:relative;z-index:2;grid-area:1 / 1;transform:translate(calc(var(--mid-shift, 0) * 100%));transform-origin:center center;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center bottom;-webkit-user-drag:none;pointer-events:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.55)) drop-shadow(0 10px 34px rgba(0,0,0,.45));animation:stage-in var(--dur-slow, .26s) var(--ease-out) both;transition-property:none}.player-stage-img-body{mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}.player-stage-img-backdrop{z-index:0}.player-stage-img-body{z-index:2;filter:none}@keyframes stage-in{0%{opacity:0}to{opacity:1}}.player-stage-img[data-image-transition=fade],.line-image[data-image-transition=fade]{animation:stage-in .7s ease-out both}@keyframes image-bounce-in{0%{opacity:0;translate:0 48px}25%{opacity:1}55%{translate:0 -14px}75%{translate:0 5px}90%{translate:0 -3px}to{opacity:1;translate:0 0}}.player-stage-img[data-image-transition=bounce],.line-image[data-image-transition=bounce]{animation:image-bounce-in .52s ease-out both}.player-stage-img[data-image-instant],.line-image[data-image-instant]{animation:none}@keyframes stage-out{0%{opacity:var(--image-exit-opacity, 1)}to{opacity:0}}@keyframes image-bounce-out{0%{opacity:var(--image-exit-opacity, 1);translate:0 var(--image-exit-y, 0px)}10%{translate:0 -3px}25%{translate:0 5px}45%{translate:0 -14px}75%{opacity:1}to{opacity:0;translate:0 48px}}.player-stage-img[data-image-leaving]{animation:stage-out var(--dur-slow, .26s) ease-in both}.player-stage-img[data-image-leaving][data-image-transition=fade]{animation:stage-out .7s ease-in both}.player-stage-img[data-image-leaving][data-image-transition=bounce]{animation:image-bounce-out .52s ease-in both}@media(prefers-reduced-motion:reduce){.player-stage-img,.player-stage-img[data-image-transition],.player-stage-img[data-image-leaving],.player-stage-img[data-image-leaving][data-image-transition],.line-image[data-image-transition]{animation:none}}.player-frame.mode-speaker .player-transcript{flex:0 0 auto;height:21%;box-sizing:border-box;width:min(680px,100%);align-self:center;margin-top:8px;background:none;border:none;padding:0 8px;scrollbar-gutter:stable}.player-frame.mode-speaker .player-box{position:relative;box-sizing:content-box;color:var(--ink);border:none;border-radius:6px 14px 8px 16px/14px 7px 16px 8px;background:var(--paper);box-shadow:inset 0 0 0 3px var(--ink),5px 6px 0 var(--ink-shadow);overflow:hidden;transition:height var(--dur-slow, .26s) var(--ease-out, cubic-bezier(.2, 0, 0, 1))}.player-frame.mode-speaker .player-box.is-empty{background:none;box-shadow:none}.player-frame.mode-speaker .player-box:not(.is-empty) .player-hint{color:#1c16118c}.player-frame.mode-speaker .player-box:not(.is-empty) .player-hint.is-urgent,.player-frame.mode-speaker .player-transcript:hover .player-box:not(.is-empty) .player-hint{color:var(--ink)}.player-frame.mode-speaker .player-box.is-empty .player-hint,.player-frame.mode-speaker .player-transcript:hover .player-box.is-empty .player-hint{color:#f2ecdf;text-shadow:0 1px 3px rgba(0,0,0,.8)}.player-frame.mode-speaker .player-box.is-empty .player-hint{text-align:center;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.4}.player-frame.mode-speaker .player-transcript:hover .player-box.is-empty .player-hint{opacity:.75}.player-frame.mode-speaker .player-box.is-empty .player-hint.is-urgent .player-hint-pulse{animation:none}.player-speech.has-speech~.player-transcript .player-box.is-empty .player-hint,.player-speech.has-speech~.player-transcript:hover .player-box.is-empty .player-hint{color:transparent;text-shadow:none}.player-frame.mode-speaker .player-status,.player-frame.mode-speaker .line-end{color:#1c16118c}.player-frame.mode-speaker .line-client{color:#2f6b33}.player-frame.mode-speaker .line-error{color:#a3242f}@media(prefers-reduced-motion:reduce){.player-frame.mode-speaker .player-box,.player-frame.mode-speaker .player-speech .player-box{transition:none}}.player-frame.mode-speaker .player-flow{position:absolute;top:0;left:0;right:0;box-sizing:border-box;padding:15px 22px 13px}.player-frame.mode-speaker .player-choices{margin-top:10px}.player-frame.mode-speaker .choice-group{flex-direction:row;flex-wrap:wrap;margin:0;--shrink: clamp(.62, calc(1 - (var(--n, 3) - 3) * .09), 1);gap:calc(8px * var(--shrink))}.player-frame.mode-speaker .choice-option{flex:1 1 calc((100% - (var(--n, 3) - 1) * 8px * var(--shrink)) / var(--n, 3));min-width:calc(110px * var(--shrink));font-size:calc(1em * var(--shrink));align-items:flex-start;text-align:left;padding:calc(10px * var(--shrink)) calc(14px * var(--shrink));overflow-wrap:break-word;color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:8px 14px 9px 15px/14px 8px 16px 9px;box-shadow:4px 5px 0 var(--ink-shadow);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background-position .6s var(--ease-out)}.player-frame.mode-speaker .choice-option:not(.attached):hover:not(:disabled):not(.unavailable){background-color:#fffdf6;background-image:linear-gradient(90deg,transparent 0%,#fffdf6 26%,#fffdf6 74%,transparent 100%),repeating-linear-gradient(-45deg,rgba(28,22,17,.5) 0 1px,transparent 1px 7px);background-size:100% 100%,auto;border-color:var(--ink);transform:translateY(-2px);background-position:0 0,-34px 0;box-shadow:6px 8px 0 var(--ink-shadow)}.player-frame.mode-speaker .choice-option:not(.attached):active:not(:disabled):not(.unavailable){transform:translateY(0) scale(.985);box-shadow:3px 4px 0 var(--ink-shadow)}.player-frame.mode-speaker .choice-option.selected{background:var(--ink);border-color:var(--ink);color:var(--paper)}.player-frame.mode-speaker .choice-option.selected .choice-subtext{color:#faf5ecb8}.player-frame.mode-speaker .choice-subtext,.player-frame.mode-speaker .choice-unavailable-reason{color:#1c161199}.player-frame.mode-speaker .choice-ritual-tag{color:color-mix(in srgb,var(--rune, var(--accent)) 62%,var(--ink))}.player-frame.mode-speaker .choice-option.ritual{--ritual-rule: color-mix(in srgb, var(--rune, var(--accent)) 48%, var(--ink));padding-bottom:calc(6px * var(--shrink) + var(--ritual-line) + .35em)}.player-frame.mode-speaker .choice-option.spell{gap:calc(12px * var(--shrink))}.player-frame.mode-speaker .choice-rune svg{width:calc(40px * var(--shrink));height:calc(40px * var(--shrink))}.player-choices{overflow:visible}.player-frame.mode-speaker .choice-group.answered .choice-option{flex-basis:100%}.player-attached{position:absolute;inset:0;z-index:1;pointer-events:none}.player-attached .choice-option{pointer-events:auto}.player-attached-tips{position:absolute;inset:0;z-index:3;pointer-events:none}.player-attached-tips .choice-tip{bottom:auto;left:var(--tip-left, auto);right:var(--tip-right, auto);display:flex;opacity:1;transform:translateY(-100%)}@starting-style{.player-attached-tips .choice-tip{opacity:0;transform:translateY(calc(-100% + 4px))}}.choice-group.attached .choice-option .choice-tip{display:none}.player-frame.mode-speaker .choice-group.attached{display:block;position:absolute;inset:0;margin:0;--shrink: 1}.player-frame.mode-speaker .choice-option.attached{--attached-bg: var(--paper);--attached-rim: var(--ink);--tilt: 0deg;--dir: 1;position:absolute;min-height:0;min-width:0;width:max-content;font-size:inherit;padding:9px 16px;transform:translateY(-50%) rotate(var(--tilt));background:var(--attached-bg);border:2px solid var(--attached-rim);border-radius:0;box-shadow:calc(var(--dir) * 5px) 6px 0 var(--ink-shadow)}.player-frame.mode-speaker .choice-option.attached.ritual{padding-bottom:calc(5px + var(--ritual-line) + .35em)}.player-frame.mode-speaker .choice-option.attached-right{--dir: 1;padding-left:calc(var(--attach-clear, 26px) + 14px);transform-origin:0 50%;border-left-color:transparent}.player-frame.mode-speaker .choice-option.attached-left{--dir: -1;padding-right:calc(var(--attach-clear, 26px) + 14px);transform-origin:100% 50%;border-right-color:transparent}.choice-option.attached:after{content:"";position:absolute;top:0;bottom:0;width:16px;background:var(--attached-bg);pointer-events:none}.choice-option.attached-right:after{left:-16px;clip-path:polygon(100% 0,100% 100%,0 50%)}.choice-option.attached-left:after{right:-16px;clip-path:polygon(0 0,0 100%,100% 50%)}.player-frame.mode-speaker .choice-option.attached:hover:not(:disabled):not(.unavailable){--attached-bg: #fffdf6;background-color:var(--attached-bg);background-image:linear-gradient(90deg,transparent 0%,var(--attached-bg) 26%,var(--attached-bg) 74%,transparent 100%),repeating-linear-gradient(-45deg,rgba(28,22,17,.5) 0 1px,transparent 1px 7px);background-size:100% 100%,auto;background-position:0 0,-34px 0;border-color:var(--attached-rim);transform:translateY(-50%) rotate(calc(var(--tilt) * .35)) translate(calc(var(--dir) * 4px));box-shadow:calc(var(--dir) * 7px) 8px 0 var(--ink-shadow)}.player-frame.mode-speaker .choice-option.attached-right:hover{border-left-color:transparent}.player-frame.mode-speaker .choice-option.attached-left:hover{border-right-color:transparent}.choice-group.attached:not(.answered) .choice-option{animation:attached-in var(--dur-slow, .26s) var(--ease-out) both;animation-delay:calc(var(--i, 0) * .2s)}@keyframes attached-in{0%{opacity:0;transform:translateY(-50%) translate(calc(var(--dir) * -100%)) rotate(calc(var(--tilt) - var(--dir) * 9deg))}}@media(prefers-reduced-motion:reduce){.choice-group.attached:not(.answered) .choice-option{animation:none}}.line-text{margin:0 0 14px;white-space:pre-wrap}.line-highlight{color:#d58a24;background:transparent;font-weight:800}.highlight-tooltip-trigger{cursor:help}.highlight-tooltip-icon{margin-left:.34em;font-size:.68em;opacity:.48;vertical-align:.08em;transition:opacity .12s ease}.highlight-tooltip-trigger:hover .highlight-tooltip-icon{opacity:.78}.player-frame.mode-challenge .player-challenge-hints .line-highlight{color:var(--hints-accent)}.line-image{display:block;max-width:100%;max-height:42vh;object-fit:contain;margin:0 0 14px;border-radius:var(--r, 3px);-webkit-user-drag:none}.line-word{display:inline-block;white-space:nowrap}.line-char{display:inline-block}.reveal-fade .line-char{animation:char-fade .22s var(--ease-out) both}@keyframes char-fade{0%{opacity:0}}.reveal-settle .line-char{transform-origin:50% 85%;animation:char-settle .26s var(--ease-spring) both}@keyframes char-settle{0%{opacity:0;transform:scale(1.6)}60%{opacity:1}}.reveal-rise .line-char{animation:char-rise .24s var(--ease-out) both}@keyframes char-rise{0%{opacity:0;transform:translateY(.35em)}}.reveal-focus .line-char{animation:char-focus .3s var(--ease-out) both}@keyframes char-focus{0%{opacity:0;filter:blur(.14em)}to{opacity:1;filter:blur(0)}}.reveal-ink .line-char{animation:char-ink .42s var(--ease-out) both}@keyframes char-ink{0%{opacity:0;filter:brightness(.35) blur(.05em)}40%{opacity:1}to{opacity:1;filter:brightness(1) blur(0)}}.line-caret{display:inline-block;position:relative;width:0;vertical-align:baseline;animation:caret-blink 1s steps(2,start) infinite}.line-caret:before{content:"​"}.line-caret:after{content:"";position:absolute;left:0;top:100%;width:.5em;border-bottom:2px solid currentColor}@keyframes caret-blink{to{visibility:hidden}}@media(prefers-reduced-motion:reduce){.line-caret{animation:none}.line-char{animation:none!important}}.line-text.with-speaker{border-radius:4px;padding:2px 10px}.line-text.with-speaker:not(.run-last){margin-bottom:0;padding-bottom:12px;border-bottom-left-radius:0;border-bottom-right-radius:0}.line-text.with-speaker:not(.run-first){padding-top:0;border-top-left-radius:0;border-top-right-radius:0}.line-speaker-name{margin-left:-116px;margin-bottom:4px;font-weight:600}.line-run{position:relative;margin-bottom:14px}.line-grow .line-text.with-speaker{margin-bottom:0}.line-grow{display:grid;grid-template-rows:1fr;animation:line-grow var(--dur-slow, .26s) var(--ease-out) both}@keyframes line-grow{0%{grid-template-rows:0fr}}.line-grow>.line-text{min-height:0;overflow:clip;overflow-clip-margin:.5em}@media(prefers-reduced-motion:reduce){.line-grow{animation:none}}.line-run.has-portrait{min-height:120px}.line-run.has-portrait .line-speaker-name{margin-left:0}.line-portrait{position:absolute;left:-132px;top:0;bottom:0;margin-top:auto;width:120px;height:120px;object-fit:cover;object-position:50% 15%;border-radius:6px;border:1px solid var(--stroke, #4a443a);background:#0000002e;-webkit-user-drag:none}@media(max-width:768px){.player-transcript{padding-left:64px}.line-speaker-name{margin-left:-48px}.line-portrait{left:-60px;width:52px;height:52px}.line-run.has-portrait{min-height:52px}}.line-client{margin:0 0 14px;border-left:2px solid var(--accent);padding-left:10px;color:#b5cea8}.line-client pre{margin:0;white-space:pre-wrap}.line-error{color:var(--danger);margin:0 0 14px}.line-end{color:var(--fg-dim);margin:0 0 14px}.choice-group{display:flex;flex-direction:column;gap:8px;margin:0 0 14px}.choice-group:not(.answered) .choice-option{animation:choice-in var(--dur-slow, .26s) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 55ms)}@keyframes choice-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.choice-group:not(.answered) .choice-option{animation:none}}.choice-option{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:12px 16px;min-height:44px;background:var(--glass-ultrathin, #2e2b26);border:1px solid var(--stroke, #4a443a);border-radius:var(--r, 3px);cursor:pointer;font-family:inherit;font-size:inherit;color:var(--fg);box-shadow:var(--edge-hi, inset 0 1px 0 rgba(255, 255, 255, .05));transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);-webkit-tap-highlight-color:transparent}.choice-option:hover:not(:disabled):not(.unavailable){background:var(--hover);border-color:var(--accent)}.choice-option:active:not(:disabled):not(.unavailable){transform:scale(.985)}.choice-option.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--fg)}.choice-option:disabled{opacity:.35;cursor:default}.choice-option.selected:disabled{opacity:1}.choice-option.unavailable{cursor:not-allowed;border-style:dashed}.choice-option.unavailable>:not(.choice-tip),.choice-option.unavailable:before{opacity:.6}.choice-headline{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}.choice-text{line-height:1.5}.choice-option.unavailable .choice-text,.choice-option.unavailable .choice-subtext{text-decoration:line-through}.choice-subtext{font-size:.82em;color:var(--fg-dim);opacity:.75;margin-top:3px;line-height:1.4}.choice-unavailable-reason{font-size:.82em;color:var(--fg-dim);font-style:italic;line-height:1.4}.choice-option{position:relative}.choice-tip{position:absolute;bottom:calc(100% + 10px);--tip-x: -50%;left:var(--tip-left, 50%);right:var(--tip-right, auto);transform:translate(var(--tip-x)) translateY(4px);z-index:2;display:flex;flex-direction:column;gap:3px;width:max-content;max-width:min(280px,70vw);padding:7px 10px;background:var(--glass-opaque, #141416);border:1px solid var(--stroke, rgba(255, 255, 255, .14));border-radius:var(--r, 3px);box-shadow:0 8px 24px #00000080;color:var(--fg);font-size:.82em;font-style:normal;line-height:1.4;text-align:center;text-decoration:none;display:none;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),display var(--dur-fast) allow-discrete}.choice-tip:after{content:"";position:absolute;top:100%;left:var(--tip-stem, 50%);width:8px;height:8px;margin:-5px 0 0 -4px;background:inherit;border-right:inherit;border-bottom:inherit;transform:rotate(45deg)}.choice-option.tipped .choice-tip,.choice-option:focus-visible .choice-tip{display:flex;opacity:1;transform:translate(var(--tip-x)) translateY(0)}.player-frame.mode-speaker .choice-option:first-child .choice-tip{--tip-left: 0;--tip-x: 0;--tip-stem: 28px}.player-frame.mode-speaker .choice-option:last-child .choice-tip{--tip-left: auto;--tip-right: 0;--tip-x: 0;--tip-stem: calc(100% - 28px) }@starting-style{.choice-option.tipped .choice-tip,.choice-option:focus-visible .choice-tip{opacity:0;transform:translate(var(--tip-x)) translateY(4px)}}.choice-group.answered .choice-tip{display:none}.choice-option.unavailable .choice-tip{text-decoration:none}.player-frame.mode-speaker .choice-tip{background:var(--paper);border:2px solid var(--ink);border-radius:7px 11px 8px 12px/11px 7px 13px 8px;box-shadow:3px 4px 0 var(--ink-shadow);color:var(--ink)}.choice-option.spell{flex-direction:row;align-items:center;gap:12px}.choice-rune{flex:0 0 auto;display:flex;line-height:0}.choice-option.unavailable .choice-rune{filter:grayscale(1) brightness(.85)}.choice-body{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.choice-option.ritual{--ritual-line: calc(8px * var(--shrink, 1));--ritual-rule: color-mix(in srgb, var(--rune, var(--accent)) 55%, transparent);padding-bottom:calc(var(--ritual-line) + .5em)}.player-frame.mode-speaker .choice-option.ritual .choice-body{flex:1 1 auto;align-items:center;text-align:center}.player-frame.mode-speaker .choice-option.ritual .choice-headline{justify-content:center}.player-frame:not(.mode-speaker) .choice-option.ritual{padding-top:calc(var(--ritual-line) + .5em)}.choice-option.ritual:before{content:"";position:absolute;inset:3px 3px var(--ritual-line);border:1px dashed var(--ritual-rule);border-bottom:none;border-radius:calc(var(--r, 3px) - 1px) calc(var(--r, 3px) - 1px) 0 0;pointer-events:none}.choice-ritual-tag{position:absolute;left:3px;right:3px;bottom:var(--ritual-line);transform:translateY(50%);display:flex;align-items:center;justify-content:center;gap:.6em;font-size:.62em;letter-spacing:.14em;text-transform:uppercase;color:var(--rune, var(--accent));opacity:.85;line-height:1;pointer-events:none}.choice-ritual-tag:before,.choice-ritual-tag:after{content:"";flex:1 1 0;border-top:1px dashed var(--ritual-rule)}.choice-option.unavailable .choice-ritual-tag{text-decoration:none}.freetext-group{display:flex;align-items:stretch;gap:8px;margin:0 0 14px}.freetext-input{flex:1;min-width:0;padding:12px 16px;min-height:44px;background:var(--glass-ultrathin, #2e2b26);border:1px solid var(--stroke, #4a443a);border-radius:var(--r, 3px);color:var(--fg);font-family:inherit;font-size:inherit;box-shadow:var(--edge-hi, inset 0 1px 0 rgba(255, 255, 255, .05));transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.freetext-input{-webkit-user-select:text;user-select:text}.freetext-input::placeholder{color:var(--fg-dim);opacity:.7}.freetext-input:hover{background:var(--hover)}.freetext-input:focus{outline:none;border-color:var(--accent);background:var(--hover)}.freetext-submit{flex:0 0 auto;min-width:44px;min-height:44px;padding:0 14px;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--r, 3px);color:var(--fg);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.freetext-submit:hover:not(:disabled){background:var(--hover)}.freetext-submit:active:not(:disabled){transform:scale(.985)}.freetext-submit:disabled{opacity:.35;cursor:default}.freetext-group.answered{border-left:2px solid var(--accent);padding-left:12px}.freetext-answer{color:var(--fg);line-height:1.5;overflow-wrap:anywhere}.player-frame.mode-speaker .freetext-input{background:#fff;border:2px solid var(--ink);border-radius:8px 12px 9px 13px/12px 8px 14px 9px;color:var(--ink);box-shadow:none}.player-frame.mode-speaker .freetext-input::placeholder{color:#1c161173;opacity:1}.player-frame.mode-speaker .freetext-input:hover,.player-frame.mode-speaker .freetext-input:focus{background:#fff}.player-frame.mode-speaker .freetext-submit{background:var(--ink);border:2px solid var(--ink);border-radius:8px 12px 9px 13px/12px 8px 14px 9px;color:var(--paper)}.player-frame.mode-speaker .freetext-submit:hover:not(:disabled){background:#33291f}.player-frame.mode-speaker .freetext-group.answered{border-left-color:var(--ink)}.player-frame.mode-speaker .freetext-answer{color:var(--ink)}.player-status{color:var(--fg-dim);margin-bottom:12px}.player-hint{margin:-6px 0 14px;min-height:20px;color:var(--fg-dim);font-family:var(--font-body);font-size:12px;letter-spacing:.4px;user-select:none;cursor:pointer;opacity:.5;transition:opacity var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.player-hint.is-urgent{opacity:1;color:var(--fg)}.player-transcript:hover .player-hint{color:var(--fg)}.player-hint-pulse{display:inline-block}.player-hint.is-urgent .player-hint-pulse{animation:hint-pulse 1.6s var(--ease-out, ease-in-out) infinite}@keyframes hint-pulse{0%,to{opacity:1}50%{opacity:.35}}.player-hint-text{display:inline-block;animation:hint-in var(--dur-slow, .26s) var(--ease-out) both}@keyframes hint-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.player-hint.is-urgent .player-hint-pulse,.player-hint-text{animation:none}}@media(pointer:coarse){.player-hint{min-height:44px;padding-top:8px}}.glossary-term{text-decoration:underline dotted;text-decoration-color:color-mix(in srgb,currentColor 65%,transparent);text-underline-offset:3px;cursor:help}.glossary-term:hover{text-decoration-style:solid}.glossary-tooltip{position:fixed;z-index:60;max-width:340px;background:var(--glass, rgba(24, 22, 19, .96));-webkit-backdrop-filter:blur(var(--blur, 0px)) saturate(var(--saturate, 100%));backdrop-filter:blur(var(--blur, 0px)) saturate(var(--saturate, 100%));border:1px solid var(--stroke, #4a443a);border-radius:var(--r-lg, 4px);box-shadow:var(--edge-hi, inset 0 1px 0 rgba(255, 255, 255, .06)),var(--shadow-2, 0 10px 30px rgba(0, 0, 0, .5));padding:8px 12px 6px;font-size:13px;line-height:1.5;font-family:var(--font-body);animation:glass-pop var(--dur, .2s) var(--ease-spring, cubic-bezier(.34, 1.35, .64, 1))}@keyframes glass-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.glossary-tooltip-title{display:flex;align-items:center;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.7px;margin-bottom:4px}.glossary-tooltip-body{color:var(--fg)}.player-frame.mode-challenge-results{grid-template:"title" auto "results" minmax(0,1fr) / minmax(0,1fr);padding:0 24px 24px}.player-frame.mode-challenge-results .player-titlebar{grid-area:title}.player-frame.mode-challenge-results .player-challenge-results{grid-area:results;position:relative;align-self:center;justify-self:center;width:min(1120px,100%);height:min(720px,100%);min-height:430px;display:grid;grid-template:"heading heading" auto "team    copy" minmax(0,1fr) "actions actions" 52px / minmax(0,1fr) minmax(0,1fr);overflow:hidden;color:var(--ink-ch);background:var(--paper-dots),var(--parchment);background-size:5px 5px,auto;border:9px solid var(--mat);box-shadow:var(--card-shadow);animation:challenge-panel-in .68s cubic-bezier(.16,1,.3,1) both}.player-frame.mode-challenge-results .challenge-results-title{grid-area:heading;min-height:52px;display:grid;place-items:center;padding:9px 24px 8px;overflow:hidden;color:#fff8e8;background:#93453f;border-bottom:2px solid var(--card-line);font-family:var(--challenge-display-font);font-size:clamp(20px,2.1vw,30px);letter-spacing:.04em;line-height:1;text-align:center;text-overflow:ellipsis;text-shadow:0 1px 0 rgba(45,25,20,.6);text-transform:uppercase;white-space:nowrap}.player-frame.mode-challenge-results .challenge-results-team{grid-area:team;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 118px;place-items:center;padding:26px 34px 18px;border-right:2px solid var(--card-line);background:var(--paper-dots),var(--parchment);background-size:5px 5px,auto}.player-frame.mode-challenge-results .challenge-middle-radar{width:clamp(230px,26vw,340px);max-width:min(88%,340px);max-height:100%}.player-frame.mode-challenge-results .challenge-middle-ability{width:clamp(34px,3.2vw,44px);height:clamp(34px,3.2vw,44px)}.player-frame.mode-challenge-results .challenge-middle-ability-icon{font-size:clamp(15px,1.6vw,21px)}.player-frame.mode-challenge-results .challenge-team-modifier-arrow{position:absolute;z-index:11;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;animation:challenge-team-modifier-arrow-in .18s 60ms ease-out both}.player-frame.mode-challenge-results .challenge-team-modifier-arrow.is-leaving{animation:challenge-team-modifier-arrow-out .16s ease-in both}.player-frame.mode-challenge-results .challenge-team-modifier-arrow-path{fill:none;stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;animation:challenge-team-modifier-arrow-draw .62s .1s ease-out both}.player-frame.mode-challenge-results .challenge-team-modifier-arrow-path.is-shadow{stroke:#2a1b38cc;stroke-width:6}.player-frame.mode-challenge-results .challenge-team-modifier-arrow-path.is-line{stroke:#fffffff0;stroke-width:2.25;filter:drop-shadow(0 0 4px rgba(238,205,255,.88))}.player-frame.mode-challenge-results .challenge-team-modifier-arrow-head{fill:#fff;stroke:#2a1b38e6;stroke-width:1;opacity:0;animation:challenge-team-modifier-arrow-head-in .1s .68s ease-out both}@keyframes challenge-team-modifier-arrow-in{0%{opacity:0}to{opacity:1}}@keyframes challenge-team-modifier-arrow-out{to{opacity:0}}@keyframes challenge-team-modifier-arrow-draw{to{stroke-dashoffset:0}}@keyframes challenge-team-modifier-arrow-head-in{to{opacity:1}}.player-frame.mode-challenge-results .challenge-results-assignees{align-self:end;width:100%;height:104px;display:flex;align-items:end;justify-content:center;gap:clamp(12px,2vw,26px)}.player-frame.mode-challenge-results .challenge-results-assignee{position:relative;width:clamp(64px,6vw,84px);height:100%;flex:0 1 84px;overflow:hidden;background:var(--parchment-deep);border:2px solid var(--card-line);box-shadow:0 5px 7px -4px #060503cc;animation:challenge-middle-slot-in .46s cubic-bezier(.16,1,.3,1) both}.player-frame.mode-challenge-results .challenge-results-assignee :is(.challenge-team-radar,.challenge-team-level,.challenge-team-health,.challenge-team-duty){display:none}.player-frame.mode-challenge-results .challenge-results-assignee .challenge-team-portrait>img{inset:0;width:100%;height:100%;object-fit:cover}.player-frame.mode-challenge-results .challenge-results-assignee .challenge-team-name{min-height:24px;padding:5px 3px 6px;font-size:clamp(10px,1vw,13px)}.player-frame.mode-challenge-results .challenge-results-copy{grid-area:copy;min-width:0;min-height:0;overflow:hidden;background:var(--paper-lines),var(--paper-band)}.player-frame.mode-challenge-results .challenge-results-body{position:relative;width:100%;height:100%;display:flex;min-height:0}.player-frame.mode-challenge-results .player-challenge-caret{position:sticky;inset:auto auto 8px;width:1em;margin:6px auto 0;transform:rotate(90deg);animation:challenge-results-caret-pop .34s cubic-bezier(.2,1.6,.4,1) both,challenge-results-caret-beckon 1.5s ease-in-out .34s infinite;will-change:transform,translate}.player-frame.mode-challenge-results .player-challenge-caret.is-sliding{transition:translate .42s cubic-bezier(.16,1,.3,1)}@keyframes challenge-results-caret-pop{0%{opacity:0;transform:rotate(90deg) translate(-10px) scale(.3)}60%{opacity:1;transform:rotate(90deg) translate(3px) scale(1.25)}to{opacity:1;transform:rotate(90deg)}}@keyframes challenge-results-caret-beckon{0%,to{opacity:1;transform:rotate(90deg)}50%{opacity:.45;transform:rotate(90deg) translate(4px)}}.player-frame.mode-challenge-results .player-challenge-caret.is-leaving{animation:challenge-results-caret-away .26s cubic-bezier(.5,0,1,1) both}@keyframes challenge-results-caret-away{0%{opacity:1;transform:rotate(90deg)}30%{opacity:1;transform:rotate(90deg) translate(-4px) scale(.85)}to{opacity:0;transform:rotate(90deg) translate(22px) scale(1.1)}}.player-frame.mode-challenge-results .player-challenge-caret.is-pressed{animation:challenge-results-caret-click .32s cubic-bezier(.2,.9,.3,1.35) both}@keyframes challenge-results-caret-click{0%,to{color:var(--ink-ch);filter:none;opacity:1;transform:rotate(90deg)}32%{color:#5a5147;filter:drop-shadow(0 0 1px rgba(43,36,28,.25));transform:rotate(90deg) translate(5px) scale(.58)}66%{color:#5a5147;filter:drop-shadow(0 0 4px rgba(43,36,28,.4));transform:rotate(90deg) translate(7px) scale(1.48)}}@keyframes challenge-results-caret-click-reduced{0%,to{color:var(--ink-ch);opacity:1}50%{color:#5a5147;opacity:.55}}@media(prefers-reduced-motion:reduce){.player-frame.mode-challenge-results .player-challenge-caret.is-pressed{animation:challenge-results-caret-click-reduced .32s ease both}}.player-frame.mode-challenge-results .challenge-results-copy .player-transcript{width:100%;min-height:0;padding:clamp(22px,3vw,38px);padding-bottom:10px;border:0;background:transparent;font-size:clamp(15px,1.4vw,19px);line-height:1.7}.player-frame.mode-challenge-results .challenge-results-summary{position:relative;margin:0 0 24px;padding:clamp(18px,2.4vw,28px);color:var(--ink-ch);background:var(--paper-dots),color-mix(in srgb,var(--parchment-deep) 74%,var(--parchment));background-size:5px 5px,auto;border:2px solid color-mix(in srgb,var(--card-line) 76%,var(--mat));border-radius:3px;outline:1px solid color-mix(in srgb,var(--parchment) 72%,transparent);outline-offset:-6px;box-shadow:0 9px 15px -11px #060503db,inset 0 1px #ffffff47}.player-frame.mode-challenge-results .challenge-results-summary>.line-text:last-of-type{margin-bottom:0}.player-frame.mode-challenge-results .challenge-results-copy .line-text{margin-bottom:1.1em}.player-frame.mode-challenge-results .challenge-experience{--experience-color: #76523e;position:relative;isolation:isolate;min-height:126px;display:grid;grid-template-columns:104px minmax(0,1fr);gap:clamp(14px,2vw,22px);margin:0 0 24px;padding:16px 18px 16px 14px;overflow:hidden;color:#34291f;background:radial-gradient(circle at 16% 20%,color-mix(in srgb,var(--experience-color) 24%,white),transparent 34%),linear-gradient(125deg,color-mix(in srgb,var(--experience-color) 16%,#fffaf0),#f4ead6 58%,color-mix(in srgb,var(--experience-color) 22%,#ead9bc));border:2px solid color-mix(in srgb,var(--experience-color) 52%,#8b755c);border-radius:5px;box-shadow:0 12px 22px -15px #1e160ee6,inset 0 1px #ffffffbd;animation:challenge-experience-card-in .72s cubic-bezier(.16,1,.3,1) both}.player-frame.mode-challenge-results .challenge-experience:after{position:absolute;z-index:-1;inset:6px;border:1px solid color-mix(in srgb,var(--experience-color) 25%,transparent);border-radius:2px;content:"";pointer-events:none}.player-frame.mode-challenge-results .challenge-experience-portrait{position:relative;width:96px;height:96px;align-self:center;overflow:hidden;background:radial-gradient(circle at 50% 32%,rgba(255,255,255,.48),transparent 32%),color-mix(in srgb,var(--experience-color) 42%,#eadcc2);border:3px solid color-mix(in srgb,var(--experience-color) 64%,#fff4dc);border-radius:4px;box-shadow:0 7px 12px -7px #1c140ddb,0 0 0 1px color-mix(in srgb,var(--experience-color) 68%,#6d5a47)}.player-frame.mode-challenge-results .challenge-experience-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.player-frame.mode-challenge-results .challenge-experience-portrait>span{position:absolute;right:4px;bottom:4px;padding:3px 5px;color:#fffaf0;background:color-mix(in srgb,var(--experience-color) 78%,#34291f);border:1px solid rgba(255,255,255,.5);border-radius:2px;box-shadow:0 2px 5px #140e0973;font:800 9px/1 -apple-system,Segoe UI,sans-serif;letter-spacing:.08em}.player-frame.mode-challenge-results .challenge-experience-content{min-width:0;display:grid;align-content:center;gap:7px}.player-frame.mode-challenge-results .challenge-experience-heading{min-width:0;display:flex;align-items:end;justify-content:space-between;gap:12px}.player-frame.mode-challenge-results .challenge-experience-heading>div{min-width:0}.player-frame.mode-challenge-results .challenge-experience-heading span,.player-frame.mode-challenge-results .challenge-experience-progress-copy{font-family:-apple-system,Segoe UI,sans-serif;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.player-frame.mode-challenge-results .challenge-experience-heading span{display:block;margin-bottom:2px;color:color-mix(in srgb,var(--experience-color) 74%,#40352b)}.player-frame.mode-challenge-results .challenge-experience-heading h2{margin:0;overflow:hidden;color:color-mix(in srgb,var(--experience-color) 72%,#241d17);font-family:var(--challenge-display-font);font-size:clamp(22px,2.5vw,34px);font-weight:400;letter-spacing:.02em;line-height:1;text-overflow:ellipsis;text-shadow:0 1px rgba(255,255,255,.72);white-space:nowrap}.player-frame.mode-challenge-results .challenge-experience-award{flex:0 0 auto;padding:7px 9px 6px;color:#fffaf0;background:color-mix(in srgb,var(--experience-color) 76%,#55422f);border:1px solid color-mix(in srgb,var(--experience-color) 46%,white);border-radius:3px;box-shadow:0 4px 9px -5px #17110ad9,inset 0 1px #ffffff4d;font:900 11px/1 -apple-system,Segoe UI,sans-serif;letter-spacing:.07em;text-shadow:0 1px rgba(35,24,15,.5)}.player-frame.mode-challenge-results .challenge-experience.is-animated .challenge-experience-award{animation:challenge-experience-award .9s .28s cubic-bezier(.16,1,.3,1) both}.player-frame.mode-challenge-results .challenge-experience-progress-copy{display:flex;justify-content:space-between;gap:10px;color:color-mix(in srgb,var(--experience-color) 54%,#5e5143);letter-spacing:.055em}.player-frame.mode-challenge-results .challenge-experience-progress-copy strong{color:#3b3026;font-variant-numeric:tabular-nums;letter-spacing:.025em}.player-frame.mode-challenge-results .challenge-experience-track{position:relative;height:38px;overflow:hidden;background:linear-gradient(#33281e2e,#ffffff24),color-mix(in srgb,var(--experience-color) 16%,#ded2bd);border:2px solid color-mix(in srgb,var(--experience-color) 52%,#75624e);border-radius:3px;box-shadow:inset 0 4px 8px #2f231838,0 1px #ffffffb3}.player-frame.mode-challenge-results .challenge-experience-fill{position:absolute;inset:0 auto 0 0;width:var(--experience-after);overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.56),transparent 45%),color-mix(in srgb,var(--experience-color) 56%,#ffe5a4);border-right:1px solid rgba(255,250,223,.85);box-shadow:4px 0 13px color-mix(in srgb,var(--experience-color) 46%,#ffe8a6),inset 0 -5px 8px color-mix(in srgb,var(--experience-color) 26%,transparent)}.player-frame.mode-challenge-results .challenge-experience.is-animated .challenge-experience-fill{width:var(--experience-before);animation:challenge-experience-fill 1.4s .26s cubic-bezier(.16,1,.3,1) forwards;will-change:width}.player-frame.mode-challenge-results .challenge-experience-sheen{position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.75) 46%,rgba(255,248,203,.38) 54%,transparent 75%);transform:translate(-120%)}.player-frame.mode-challenge-results .challenge-experience.is-animated .challenge-experience-sheen{animation:challenge-experience-sheen 1.1s .48s ease-in-out both}.player-frame.mode-challenge-results .challenge-experience-spark{position:absolute;top:-45%;right:-7px;width:18px;height:190%;background:#fffadadb;filter:blur(5px);opacity:0}.player-frame.mode-challenge-results .challenge-experience.is-animated .challenge-experience-spark{animation:challenge-experience-spark 1.4s .26s ease-out both}.player-frame.mode-challenge-results .challenge-experience-level-up{position:absolute;z-index:3;inset:0;display:grid;place-items:center;padding:0 8px;color:#fffdf4;font-family:var(--challenge-display-font);font-size:clamp(13px,1.5vw,18px);font-weight:400;letter-spacing:.045em;text-align:center;text-shadow:0 1px 2px rgba(32,23,13,.92),0 0 8px rgba(41,29,17,.58)}.player-frame.mode-challenge-results .challenge-experience.is-animated .challenge-experience-level-up{animation:challenge-experience-level-up .62s 1.52s cubic-bezier(.16,1,.3,1) both}@keyframes challenge-experience-card-in{0%{opacity:0;transform:translate(58px) scale(.975);filter:blur(1px)}to{opacity:1;transform:none;filter:none}}@keyframes challenge-experience-fill{0%{width:var(--experience-before);filter:saturate(.88)}68%{filter:saturate(1.34) brightness(1.08)}to{width:var(--experience-after);filter:none}}@keyframes challenge-experience-sheen{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes challenge-experience-spark{0%,to{opacity:0}18%,76%{opacity:.9}}@keyframes challenge-experience-award{0%{opacity:0;transform:translateY(7px) scale(.86)}52%{color:#fff8c9;transform:translateY(-2px) scale(1.1);box-shadow:0 0 18px color-mix(in srgb,var(--experience-color) 44%,#ffe8a5)}to{opacity:1;transform:none}}@keyframes challenge-experience-level-up{0%{opacity:0;letter-spacing:.12em;transform:scale(1.08);filter:brightness(1.6)}to{opacity:1;transform:none;filter:none}}.player-frame.mode-challenge-results .challenge-health{--health-character-color: #76523e;position:relative;isolation:isolate;min-height:126px;margin:0 0 24px;overflow:hidden;color:#34291f;background:radial-gradient(circle at 15% 22%,color-mix(in srgb,var(--health-character-color) 22%,white),transparent 34%),linear-gradient(125deg,#fff9ed,#f2e6d1 62%,#dfceb2);border:2px solid color-mix(in srgb,var(--health-character-color) 48%,#8b755c);border-radius:5px;box-shadow:0 12px 22px -15px #1e160ee6,inset 0 1px #ffffffbd;animation:challenge-health-card-in .62s cubic-bezier(.16,1,.3,1) both}.player-frame.mode-challenge-results .challenge-health-card-body{min-height:126px;display:grid;grid-template-columns:104px minmax(0,1fr);gap:clamp(14px,2vw,22px);padding:16px 18px 16px 14px}.player-frame.mode-challenge-results .challenge-health-portrait{position:relative;width:96px;height:96px;align-self:center;overflow:hidden;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.45),transparent 34%),color-mix(in srgb,var(--health-character-color) 38%,#eadcc2);border:3px solid color-mix(in srgb,var(--health-character-color) 62%,#fff4dc);border-radius:4px;box-shadow:0 7px 12px -7px #1c140ddb,0 0 0 1px color-mix(in srgb,var(--health-character-color) 66%,#6d5a47)}.player-frame.mode-challenge-results .challenge-health-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.player-frame.mode-challenge-results .challenge-health-content{min-width:0;display:grid;align-content:center;gap:7px}.player-frame.mode-challenge-results .challenge-health-heading{min-width:0;display:flex;align-items:end;justify-content:space-between;gap:12px}.player-frame.mode-challenge-results .challenge-health-heading>div{min-width:0}.player-frame.mode-challenge-results .challenge-health-heading span,.player-frame.mode-challenge-results .challenge-health-progress-copy{font-family:-apple-system,Segoe UI,sans-serif;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.player-frame.mode-challenge-results .challenge-health-heading span{display:block;margin-bottom:2px;color:#6e5e4e}.player-frame.mode-challenge-results .challenge-health-heading h2{margin:0;overflow:hidden;color:color-mix(in srgb,var(--health-character-color) 68%,#241d17);font-family:var(--challenge-display-font);font-size:clamp(22px,2.5vw,34px);font-weight:400;letter-spacing:.02em;line-height:1;text-overflow:ellipsis;text-shadow:0 1px rgba(255,255,255,.72);white-space:nowrap}.player-frame.mode-challenge-results .challenge-health-amount{flex:0 0 auto;padding:7px 9px 6px;color:#fff;border:1px solid rgba(255,255,255,.56);border-radius:3px;box-shadow:0 4px 9px -5px #17110ad9,inset 0 1px #ffffff4d;font:900 11px/1 -apple-system,Segoe UI,sans-serif;letter-spacing:.07em;text-shadow:0 1px rgba(35,24,15,.5)}.player-frame.mode-challenge-results .challenge-health-amount.is-hidden{opacity:0;transform:translateY(4px) scale(.82);pointer-events:none}.player-frame.mode-challenge-results .challenge-health.is-animated .challenge-health-amount.is-revealed{animation:challenge-health-amount-reveal .52s cubic-bezier(.16,1,.3,1) both}.player-frame.mode-challenge-results .challenge-health.is-healing .challenge-health-amount{background:#438f62}.player-frame.mode-challenge-results .challenge-health.is-damage .challenge-health-amount{background:#a93743}.player-frame.mode-challenge-results .challenge-health-progress-copy{display:flex;justify-content:space-between;gap:10px;color:#695b4e;letter-spacing:.055em}.player-frame.mode-challenge-results .challenge-health-progress-copy strong{color:#3b3026;font-variant-numeric:tabular-nums;letter-spacing:.025em}.player-frame.mode-challenge-results .challenge-health-number.is-damage-tick{animation:challenge-health-number-pain var(--health-recoil-duration) ease-out both}.player-frame.mode-challenge-results .challenge-health-track{position:relative;height:38px;overflow:hidden;background:linear-gradient(#33281e3d,#ffffff1a),#c6b7a3;border:2px solid #745d52;border-radius:3px;box-shadow:inset 0 4px 8px #2f231847,0 1px #ffffffb3}.player-frame.mode-challenge-results .challenge-health-ghost{position:absolute;z-index:0;inset:0 auto 0 0;width:var(--health-ghost);display:none;background:linear-gradient(180deg,rgba(255,235,226,.68),transparent 48%),linear-gradient(90deg,#9e4c56,#ed9290);border-right:1px solid rgba(255,218,205,.88);box-shadow:4px 0 12px #b2364475,inset 0 -5px 8px #5c182333}.player-frame.mode-challenge-results .challenge-health.is-animated.is-damage .challenge-health-ghost{display:block;transition:width .72s cubic-bezier(.16,1,.3,1)}.player-frame.mode-challenge-results .challenge-health-fill{position:absolute;z-index:1;inset:0 auto 0 0;width:var(--health-after);overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 45%),linear-gradient(90deg,#8e2637,#c54450 68%,#dc6268);border-right:1px solid rgba(255,237,226,.86);box-shadow:3px 0 11px #b829398c,inset 0 -5px 8px #5b0f1c47}.player-frame.mode-challenge-results .challenge-health.is-animated .challenge-health-fill{width:var(--health-before)}.player-frame.mode-challenge-results .challenge-health.is-animated.is-healing .challenge-health-fill{animation:challenge-health-heal-fill 1.8s .26s cubic-bezier(.16,1,.3,1) forwards}.player-frame.mode-challenge-results .challenge-health.is-animated.is-damage .challenge-health-fill{width:var(--health-current);filter:saturate(1.12)}.player-frame.mode-challenge-results .challenge-health-sheen{position:absolute;inset:0;background:linear-gradient(105deg,transparent 24%,rgba(255,255,255,.82) 47%,rgba(221,255,224,.46) 54%,transparent 76%);transform:translate(-120%)}.player-frame.mode-challenge-results .challenge-health.is-animated.is-healing .challenge-health-sheen{animation:challenge-health-heal-sheen 1.45s .42s ease-in-out both}.player-frame.mode-challenge-results .challenge-health-flash{position:absolute;z-index:4;inset:0;background:#fff;opacity:0;pointer-events:none}.player-frame.mode-challenge-results .challenge-health-flash.is-full-impact{animation:challenge-health-damage-flash var(--health-flash-duration) ease-out both}.player-frame.mode-challenge-results .challenge-health.is-animated.is-healing{animation:challenge-health-card-in .62s cubic-bezier(.16,1,.3,1) both,challenge-health-heal-glow 1.8s .26s ease-out both}.player-frame.mode-challenge-results .challenge-health.is-animated.is-damage{animation:challenge-health-card-in .46s cubic-bezier(.2,.9,.3,1.25) both}.player-frame.mode-challenge-results .challenge-health-vignette{position:absolute;z-index:2;inset:0;background:radial-gradient(ellipse at center,transparent 42%,rgba(93,5,20,.28) 68%,rgba(35,0,8,.88) 100%);opacity:calc(var(--health-pain-level) * .72);transition:opacity 90ms linear;pointer-events:none}.player-frame.mode-challenge-results .challenge-health.is-pain-settling .challenge-health-vignette{transition-duration:.68s;transition-timing-function:ease-out}.player-frame.mode-challenge-results .challenge-health-dead{position:absolute;z-index:4;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(7px,1vw,12px);padding:12px;color:#fffffff0;background:#1f1c1ca3;text-align:center;pointer-events:none}.player-frame.mode-challenge-results .challenge-health-dead>strong{font-family:var(--challenge-display-font);font-size:clamp(44px,7vw,84px);font-weight:400;letter-spacing:.18em;line-height:.86;text-shadow:0 3px 1px rgba(0,0,0,.8),0 0 22px rgba(255,255,255,.22)}.player-frame.mode-challenge-results .challenge-health-dead>span{max-width:min(88%,580px);font:750 clamp(11px,1.25vw,16px)/1.25 -apple-system,"Segoe UI",sans-serif;letter-spacing:.035em;text-shadow:0 1px 2px rgba(0,0,0,.92),0 0 9px rgba(0,0,0,.5)}.player-frame.mode-challenge-results .challenge-health.is-static.is-dead .challenge-health-card-body{filter:grayscale(1);opacity:.48}.player-frame.mode-challenge-results .challenge-health.is-static.is-dead .challenge-health-portrait{opacity:.12}.player-frame.mode-challenge-results .challenge-health.is-animated.is-dead .challenge-health-card-body{animation:challenge-health-death-card .7s var(--health-death-card-delay) ease-out forwards}.player-frame.mode-challenge-results .challenge-health.is-animated.is-dead .challenge-health-portrait{animation:challenge-health-death-portrait .7s var(--health-death-portrait-delay) ease-out forwards}.player-frame.mode-challenge-results .challenge-health.is-animated.is-dead .challenge-health-dead{opacity:0;animation:challenge-health-dead-label .64s var(--health-death-label-delay) cubic-bezier(.16,1,.3,1) forwards}@keyframes challenge-health-card-in{0%{opacity:0;transform:translate(58px) scale(.975);filter:blur(1px)}to{opacity:1;transform:none;filter:none}}@keyframes challenge-health-heal-fill{0%{width:var(--health-before);filter:saturate(.84)}70%{filter:saturate(1.28) brightness(1.1)}to{width:var(--health-after);filter:none}}@keyframes challenge-health-heal-sheen{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes challenge-health-heal-glow{0%,to{border-color:color-mix(in srgb,var(--health-character-color) 48%,#8b755c)}42%{border-color:#9de0ac;box-shadow:0 0 22px #53b66f7a,inset 0 1px #ffffffe6}}@keyframes challenge-health-amount-reveal{0%{opacity:0;transform:translateY(5px) scale(.82)}58%{opacity:1;transform:translateY(-2px) scale(1.1)}to{opacity:1;transform:none}}@keyframes challenge-health-number-pain{0%{color:#3b3026;transform:none;text-shadow:none}20%{color:#b51f35;transform:translateY(-2px) scale(1.18);text-shadow:0 0 9px rgba(196,29,53,.72)}58%{color:#7d1528;transform:translateY(2px) scale(.94);text-shadow:0 0 4px rgba(139,15,37,.45)}to{color:#3b3026;transform:none;text-shadow:none}}@keyframes challenge-health-damage-flash{0%{opacity:.68}26%{opacity:.52}to{opacity:0}}@keyframes challenge-health-death-card{0%{filter:none;opacity:1}to{filter:grayscale(1);opacity:.48}}@keyframes challenge-health-death-portrait{0%{opacity:1}to{opacity:.12}}@keyframes challenge-health-dead-label{0%{opacity:0;transform:scale(1.25);letter-spacing:.06em}to{opacity:1;transform:none;letter-spacing:normal}}.player-frame .challenge-check{position:relative;isolation:isolate;margin:0 0 24px;overflow:hidden;color:#f9f2ff;background:radial-gradient(circle at 82% 14%,rgba(226,190,255,.2),transparent 32%),linear-gradient(145deg,#352044,#59306f 58%,#2a1b38);border:2px solid rgba(213,174,237,.68);border-radius:4px;box-shadow:0 10px 20px -12px #190a22eb,inset 0 1px #ffffff24;animation:challenge-check-card-in .68s cubic-bezier(.16,1,.3,1) both;will-change:opacity,transform}.player-frame .challenge-check-heading{position:relative;z-index:2;min-height:96px;display:grid;grid-template:"check-title roll" "difficulty roll" / minmax(0,1fr) auto;align-items:center;column-gap:clamp(10px,1.6vw,22px);row-gap:8px;padding:17px 18px 15px 22px;border-bottom:1px solid rgba(235,211,248,.28)}.player-frame .challenge-check-heading h2{grid-area:check-title;min-width:0;margin:0;overflow:visible;overflow-wrap:anywhere;font-family:var(--challenge-display-font);font-size:clamp(27px,3.1vw,47px);font-weight:400;letter-spacing:.025em;line-height:1.05;text-shadow:0 3px 12px rgba(13,4,18,.72);text-wrap:balance;white-space:normal;animation:challenge-check-skill-in .62s cubic-bezier(.16,1,.3,1) both}.player-frame .challenge-check-difficulty{grid-area:difficulty;display:flex;align-items:baseline;gap:5px;color:#f6e8ffc2;font-family:-apple-system,Segoe UI,sans-serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.player-frame .challenge-check-difficulty strong{color:#fff;font-size:14px}.player-frame .challenge-check-roll{grid-area:roll;min-width:76px;display:grid;place-items:center;align-self:stretch;padding:5px 10px;color:#faedffb8;background:#10071761;border:1px solid rgba(230,204,245,.28);font-family:-apple-system,Segoe UI,sans-serif;font-size:9px;letter-spacing:.12em;line-height:1;text-transform:uppercase}.player-frame .challenge-check-roll strong{color:#fff;font-family:var(--challenge-display-font);font-size:clamp(29px,3vw,42px);font-weight:400;line-height:.9;text-shadow:0 0 14px rgba(236,199,255,.72);min-width:1.35em;display:grid;place-items:center;font-variant-numeric:tabular-nums;perspective:180px}.player-frame .challenge-check-roll i{font-style:normal;opacity:.42}.player-frame .challenge-check.is-rolling .challenge-check-roll{animation:challenge-check-die-box-roll .42s ease-in-out infinite alternate}.player-frame .challenge-check-roll-stack{min-width:1.35em;height:1em;display:grid;place-items:center;overflow:hidden;perspective:180px}.player-frame .challenge-check-number{grid-area:1 / 1;display:block;will-change:color,filter,opacity,transform}.player-frame .challenge-check-number.is-roll-in{animation:challenge-check-number-in .15s cubic-bezier(.16,1,.3,1) both}.player-frame .challenge-check-number.is-roll-out{animation:challenge-check-number-out .15s cubic-bezier(.4,0,1,1) both}.player-frame .challenge-check-total.is-up{animation:challenge-check-total-up .72s cubic-bezier(.16,1,.3,1) both}.player-frame .challenge-check-total.is-down{animation:challenge-check-total-down .72s cubic-bezier(.16,1,.3,1) both}.player-frame .challenge-check.is-modifiers .challenge-check-roll{animation:challenge-check-die-settle .52s cubic-bezier(.16,1,.3,1) both}.player-frame .challenge-check-roll small{font-size:8px;letter-spacing:.04em;opacity:.72}.player-frame .challenge-check-lines{position:relative;z-index:2;min-height:12px;padding:7px 18px 10px;overflow:hidden}.player-frame .challenge-check-line{min-height:42px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 4px;color:#fff8ffe6;border-bottom:1px solid rgba(232,210,244,.14);font-family:-apple-system,Segoe UI,sans-serif;font-size:13px;line-height:1.2;animation:challenge-check-line-in .56s cubic-bezier(.16,1,.3,1) both;transform-origin:top center;will-change:opacity,transform,clip-path}.player-frame .challenge-check-line:last-child{border-bottom:0}.player-frame .challenge-check-line img{width:30px;height:30px;object-fit:cover;border:1px solid rgba(245,226,255,.7);border-radius:50%;box-shadow:0 2px 7px #0d0412a3}.player-frame .challenge-check-line span{grid-column:2}.player-frame .challenge-check-line strong{grid-column:3}.player-frame .challenge-check-line strong{color:#fff;font-family:var(--challenge-display-font);font-size:22px;font-weight:400;text-shadow:0 0 10px rgba(238,205,255,.6)}.player-frame .challenge-check-line.is-team{color:#fff;letter-spacing:.035em;text-transform:none;animation:none}.player-frame .challenge-check-line.is-arriving .challenge-check-line-amount{visibility:hidden}.player-frame .challenge-check-line.is-team.is-arrived .challenge-check-line-amount{transform-origin:center;animation:challenge-team-modifier-amount-in .28s cubic-bezier(.16,1,.3,1) both}@keyframes challenge-team-modifier-amount-in{0%{opacity:0;transform:scale(.45)}64%{opacity:1;transform:scale(1.24)}to{opacity:1;transform:scale(1)}}.player-frame .challenge-check-outcome{position:absolute;z-index:3;inset:0;display:grid;place-items:center;color:#ffffffeb;font-family:var(--challenge-display-font);font-size:clamp(42px,7vw,82px);letter-spacing:.16em;text-shadow:0 3px 1px rgba(28,5,12,.72),0 0 24px rgba(255,239,247,.34);line-height:1;opacity:0;pointer-events:none}.player-frame .challenge-check.is-success{border-color:#6fe59ed1}.player-frame .challenge-check.is-success .challenge-check-outcome{opacity:1;background:#26a05b7a;animation:challenge-check-outcome-in .62s cubic-bezier(.16,1,.3,1) both}.player-frame .challenge-check.is-failure{border-color:#f0687fdb}.player-frame .challenge-check.is-failure .challenge-check-outcome{opacity:1;background:#b1203c80;animation:challenge-check-outcome-in .62s cubic-bezier(.16,1,.3,1) both}@keyframes challenge-check-die-box-roll{0%{border-color:#e6ccf552;box-shadow:inset 0 0 #fff0;transform:rotate(-.6deg) scale(.985)}to{border-color:#fff5ffe6;box-shadow:inset 0 0 18px #f0cfff38,0 0 14px #dfb0f852;transform:rotate(.6deg) scale(1.025)}}@keyframes challenge-check-number-in{0%{opacity:0;transform:translateY(-88%) rotateX(72deg) scaleY(.72);filter:blur(1.8px)}70%{opacity:1;transform:translateY(5%) rotateX(-5deg) scaleY(1.04);filter:blur(0)}to{opacity:1;transform:none;filter:none}}@keyframes challenge-check-number-out{0%{opacity:.82;transform:none;filter:blur(0)}to{opacity:0;transform:translateY(88%) rotateX(-68deg) scaleY(.74);filter:blur(1.6px)}}@keyframes challenge-check-total-up{0%{color:#fff;transform:translateY(5px) scale(.92)}28%{color:#8dffb5;text-shadow:0 0 9px rgba(86,255,147,.96),0 0 22px rgba(48,218,109,.78);transform:translateY(-2px) scale(1.17)}to{color:#fff;text-shadow:0 0 14px rgba(236,199,255,.72);transform:none}}@keyframes challenge-check-total-down{0%{color:#fff;transform:translateY(-5px) scale(1.08)}28%{color:#ff8798;text-shadow:0 0 9px rgba(255,76,103,.96),0 0 22px rgba(221,42,69,.78);transform:translateY(2px) scale(.88)}to{color:#fff;text-shadow:0 0 14px rgba(236,199,255,.72);transform:none}}@keyframes challenge-check-die-settle{0%{transform:scale(1.28) rotate(-2deg);box-shadow:0 0 28px #f8dfffd9}54%{transform:scale(.94) rotate(.8deg)}76%{transform:scale(1.04) rotate(-.3deg)}to{transform:none}}@keyframes challenge-check-card-in{0%{opacity:0;transform:translate(72px) scale(.975);filter:blur(1.5px)}62%{filter:blur(0)}to{opacity:1;transform:none;filter:none}}@keyframes challenge-check-skill-in{0%{opacity:0;transform:translate(-42px);letter-spacing:.12em}}@keyframes challenge-check-line-in{0%{opacity:0;transform:translateY(-26px) scaleY(.72);clip-path:inset(0 0 100% 0)}62%{opacity:1;transform:translateY(3px) scaleY(1.025);clip-path:inset(0)}to{opacity:1;transform:none;clip-path:inset(0)}}@keyframes challenge-check-outcome-in{0%{opacity:0;transform:scale(1.24);filter:saturate(1.8) brightness(1.35)}to{opacity:1;transform:none;filter:none}}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience,.challenge-health,.change-card){position:relative;isolation:isolate;margin:0 0 16px;overflow:hidden;border:1px solid #a68d6d;border-radius:4px;box-shadow:0 7px 15px -12px #1e160ee6,inset 0 1px #ffffffb8}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience,.challenge-health){min-height:96px;color:#34291f;background:linear-gradient(125deg,#fff9ed,#f2e6d1 62%,#dfceb2)}.player-frame:is(.mode-long,.mode-disco) .challenge-experience{--experience-color: #76523e;display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;padding:11px 13px 11px 10px;border-color:color-mix(in srgb,var(--experience-color) 52%,#8b755c)}.player-frame:is(.mode-long,.mode-disco) .challenge-health{--health-character-color: #76523e;border-color:color-mix(in srgb,var(--health-character-color) 48%,#8b755c)}.player-frame:is(.mode-long,.mode-disco) .challenge-health-card-body{min-height:96px;display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;padding:11px 13px 11px 10px}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience-portrait,.challenge-health-portrait){position:relative;width:72px;height:72px;align-self:center;overflow:hidden;background:color-mix(in srgb,var(--experience-color, var(--health-character-color)) 38%,#eadcc2);border:2px solid color-mix(in srgb,var(--experience-color, var(--health-character-color)) 62%,#fff4dc);border-radius:3px;box-shadow:0 4px 8px -5px #1c140ddb}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience-portrait,.challenge-health-portrait) img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.player-frame:is(.mode-long,.mode-disco) .challenge-experience-portrait>span{position:absolute;right:3px;bottom:3px;padding:3px 4px;color:#fffaf0;background:color-mix(in srgb,var(--experience-color) 78%,#34291f);border-radius:2px;font:800 8px/1 -apple-system,Segoe UI,sans-serif}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience-content,.challenge-health-content){min-width:0;display:grid;align-content:center;gap:5px}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience-heading,.challenge-health-heading){min-width:0;display:flex;align-items:end;justify-content:space-between;gap:8px}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience-heading>div,.challenge-health-heading>div){min-width:0}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience-heading span,.challenge-health-heading span,.challenge-experience-progress-copy,.challenge-health-progress-copy){font-family:-apple-system,Segoe UI,sans-serif;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience-heading h2,.challenge-health-heading h2){margin:0;overflow:hidden;color:color-mix(in srgb,var(--experience-color, var(--health-character-color)) 68%,#241d17);font-family:var(--challenge-display-font);font-size:clamp(18px,2.4vw,26px);font-weight:400;line-height:1;text-overflow:ellipsis;white-space:nowrap}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience-award,.challenge-health-amount){flex:0 0 auto;padding:5px 7px;color:#fffaf0;background:#438f62;border-radius:2px;font:900 9px/1 -apple-system,Segoe UI,sans-serif;letter-spacing:.06em}.player-frame:is(.mode-long,.mode-disco) .challenge-health.is-damage .challenge-health-amount{background:#a93743}.player-frame:is(.mode-long,.mode-disco) .challenge-health-amount.is-hidden{opacity:0}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience-progress-copy,.challenge-health-progress-copy){display:flex;justify-content:space-between;gap:8px;color:#695b4e}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience-progress-copy strong,.challenge-health-progress-copy strong){color:#3b3026;font-variant-numeric:tabular-nums}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience-track,.challenge-health-track){position:relative;height:24px;overflow:hidden;background:#c6b7a3;border:1px solid #745d52;border-radius:2px;box-shadow:inset 0 3px 6px #2f23183d}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience-fill,.challenge-health-fill){position:absolute;inset:0 auto 0 0;overflow:hidden;border-right:1px solid rgba(255,250,223,.85)}.player-frame:is(.mode-long,.mode-disco) .challenge-experience-fill{width:var(--experience-after);background:color-mix(in srgb,var(--experience-color) 56%,#ffe5a4)}.player-frame:is(.mode-long,.mode-disco) .challenge-health-fill{z-index:1;width:var(--health-current, var(--health-after));background:linear-gradient(90deg,#8e2637,#dc6268)}.player-frame:is(.mode-long,.mode-disco) .challenge-health-ghost{position:absolute;inset:0 auto 0 0;width:var(--health-ghost);background:linear-gradient(90deg,#9e4c56,#ed9290)}.player-frame:is(.mode-long,.mode-disco) .challenge-health-sheen,.player-frame:is(.mode-long,.mode-disco) .challenge-experience-sheen{position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%)}.player-frame:is(.mode-long,.mode-disco) .challenge-health-flash{position:absolute;z-index:2;inset:0;background:#fff;opacity:0}.player-frame:is(.mode-long,.mode-disco) .challenge-health-flash.is-full-impact{animation:challenge-health-damage-flash var(--health-flash-duration) ease-out both}.player-frame:is(.mode-long,.mode-disco) .challenge-experience.is-animated .challenge-experience-fill{width:var(--experience-before);animation:challenge-experience-fill 1.4s .26s cubic-bezier(.16,1,.3,1) forwards}.player-frame:is(.mode-long,.mode-disco) .challenge-health.is-animated.is-healing .challenge-health-fill{width:var(--health-before);animation:challenge-health-heal-fill 1.8s .26s cubic-bezier(.16,1,.3,1) forwards}.player-frame:is(.mode-long,.mode-disco) .challenge-health-number.is-damage-tick{animation:challenge-health-number-pain var(--health-recoil-duration) ease-out both}.player-frame:is(.mode-long,.mode-disco) .challenge-health-dead{position:absolute;inset:0;display:grid;place-content:center;gap:5px;padding:8px;color:#fff;background:#1f1c1ca3;text-align:center}.player-frame:is(.mode-long,.mode-disco) .challenge-health-dead>strong{font-family:var(--challenge-display-font);font-size:clamp(28px,5vw,48px);font-weight:400;letter-spacing:.14em}.player-frame:not(.mode-challenge-results) .challenge-check{margin:0 0 16px}.player-frame:not(.mode-challenge-results) .challenge-check-heading{min-height:74px;display:grid;grid-template:"check-title roll" "difficulty roll" / minmax(0,1fr) auto;gap:5px 12px;padding:12px 14px;border-bottom:1px solid rgba(235,211,248,.28)}.player-frame:not(.mode-challenge-results) .challenge-check-heading h2{grid-area:check-title;margin:0;font-family:var(--challenge-display-font);font-size:clamp(21px,2.7vw,32px);font-weight:400;line-height:1}.player-frame:not(.mode-challenge-results) .challenge-check-difficulty{grid-area:difficulty;font:800 9px/1 -apple-system,Segoe UI,sans-serif;letter-spacing:.08em;text-transform:uppercase}.player-frame:not(.mode-challenge-results) .challenge-check-roll{grid-area:roll;display:grid;place-items:center;min-width:62px;padding:5px 8px;background:#10071761;border:1px solid rgba(230,204,245,.28);font:800 8px/1 -apple-system,Segoe UI,sans-serif;letter-spacing:.1em;text-transform:uppercase}.player-frame:not(.mode-challenge-results) .challenge-check-roll strong,.player-frame:not(.mode-challenge-results) .challenge-check-line strong{color:#fff;font-family:var(--challenge-display-font);font-size:24px;font-weight:400}.player-frame:not(.mode-challenge-results) .challenge-check-lines{padding:5px 14px 8px}.player-frame:not(.mode-challenge-results) .challenge-check-line{min-height:34px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid rgba(232,210,244,.14);font:600 12px/1.2 -apple-system,Segoe UI,sans-serif}.player-frame:not(.mode-challenge-results) .challenge-check-line img{width:24px;height:24px;object-fit:cover;border:1px solid rgba(245,226,255,.7);border-radius:50%}.player-frame:not(.mode-challenge-results) .challenge-check-outcome{font-size:clamp(34px,6vw,64px)}.player-frame .dialog-check{position:relative;isolation:isolate;min-width:0;margin:0 0 16px;overflow:hidden;border:1px solid rgba(213,174,237,.68);border-radius:4px;box-shadow:0 8px 24px -14px #160b22}.player-frame .dialog-check .challenge-check-heading h2{min-width:0;overflow-wrap:anywhere}.player-frame .dialog-check-character{display:block;margin-bottom:7px;color:#dfcbea;font:700 10px/1.3 -apple-system,Segoe UI,sans-serif;letter-spacing:.09em;text-transform:uppercase}.player-frame .dialog-check .challenge-check-line:not(:has(img)){grid-template-columns:minmax(0,1fr) auto}.player-frame .dialog-check .challenge-check-line:not(:has(img)) span{grid-column:1}.player-frame .dialog-check .challenge-check-line:not(:has(img)) strong{grid-column:2}.player-frame .dialog-check .challenge-check-line{overflow-wrap:anywhere}.player-frame .dialog-check.is-secret{border-color:#d8bd79;background:linear-gradient(125deg,#123b3b,#1a5150 58%,#172e34);animation:dialog-secret-check-in .9s ease-out both}.player-frame .dialog-check.is-secret .dialog-check-character{color:#f4d899}.player-frame .dialog-check.is-secret .challenge-check-heading h2,.player-frame .dialog-check.is-secret .challenge-check-line{animation:none}@keyframes dialog-secret-check-in{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur(0)}}@media(prefers-reduced-motion:reduce){.player-frame .challenge-check,.player-frame .challenge-check :is(h2,.challenge-check-roll,.challenge-check-total,.challenge-check-number,.challenge-check-line,.challenge-check-line-amount,.challenge-check-outcome){animation:none!important}}.player-frame:is(.mode-long,.mode-disco) .change-card,.player-frame.mode-challenge-results .change-card{position:relative;min-height:74px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;margin:0 0 16px;padding:10px 12px;overflow:hidden;color:#34291f;background:linear-gradient(125deg,#fff9ed,#f2e6d1 62%,#dfceb2);border:1px solid #a68d6d;border-radius:4px;box-shadow:0 7px 15px -12px #1e160ee6,inset 0 1px #ffffffb8}.player-frame .change-card.is-incoming{border-color:#5e9e6f}.player-frame .change-card.is-outgoing{border-color:#b35c55}.player-frame .change-card-icon{display:grid;width:38px;height:38px;place-items:center;color:#fff8e8;background:#438f62;border:1px solid rgba(255,255,255,.62);border-radius:50%;box-shadow:0 3px 7px -4px #17110ad9;font:400 25px/1 Georgia,serif}.player-frame .change-card.is-outgoing .change-card-icon{background:#a93743}.player-frame .change-card-content{min-width:0;display:grid;gap:2px}.player-frame .change-card-label,.player-frame .change-card-balance{color:#695b4e;font:800 9px/1.2 -apple-system,Segoe UI,sans-serif;letter-spacing:.075em;text-transform:uppercase}.player-frame .change-card-amount,.player-frame .change-card-title{overflow:hidden;color:#3b3026;font-family:var(--challenge-display-font);font-size:clamp(18px,2.3vw,25px);font-weight:400;line-height:1;text-overflow:ellipsis;white-space:nowrap}.player-frame .change-card-amount{font-variant-numeric:tabular-nums}.player-frame .money-change .change-card-amount{display:flex;align-items:baseline;gap:.08em;line-height:1.25}.player-frame .money-values{display:inline-block;white-space:nowrap;font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:normal}.player-frame .money-values>span{display:inline-flex;align-items:baseline;gap:.32em}.player-frame .money-denomination{display:inline-flex;align-items:baseline;opacity:1;transition:opacity .16s ease-out}.player-frame .money-denomination.is-zero{opacity:.32}.player-frame .money-unit{font-size:.8em;margin-left:.04em}.player-frame .money-digit-window{position:relative;display:inline-block;width:1ch;height:1.25em;line-height:1.25;overflow:hidden;text-align:right;vertical-align:bottom}.player-frame .money-g .money-digit-window{width:var(--money-gold-width, 1ch)}.player-frame .money-digit{display:block}.player-frame .money-digit-window.is-rolling:before{content:attr(data-previous);position:absolute;inset:0;animation:money-digit-out .2s cubic-bezier(.22,1,.36,1) both}.player-frame .money-digit-window.is-rolling .money-digit{animation:money-digit-in .2s cubic-bezier(.22,1,.36,1) both}@keyframes money-digit-in{0%{transform:translateY(calc(var(--money-roll-direction) * 100%));opacity:.3}to{transform:translateY(0);opacity:1}}@keyframes money-digit-out{0%{transform:translateY(0);opacity:.65}to{transform:translateY(calc(var(--money-roll-direction) * -100%));opacity:0}}.player-frame .change-card-balance{display:flex;flex-wrap:wrap;gap:4px}.player-frame .item-change .change-card-balance{justify-content:space-between}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-health,.challenge-experience).is-animated,.player-frame .change-card.is-animated{animation:result-card-in .48s cubic-bezier(.16,1,.3,1) both}.player-frame .change-card.is-animated:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.7) 49%,transparent 73%);animation:resource-card-sheen 1s .18s ease-out both}.player-frame .change-card.is-animated .change-card-icon{animation:resource-icon-in .65s 90ms cubic-bezier(.16,1,.3,1) both}.player-frame .change-card.is-animated .change-card-content{animation:resource-copy-in .42s .14s ease-out both}.player-frame .change-card.is-outgoing.is-animated{animation:result-card-in .48s cubic-bezier(.16,1,.3,1) both,resource-payment-recoil .38s .48s ease-out}.player-frame .money-change .change-card-icon{background:linear-gradient(145deg,#fff1b6,#e5b756 70%,#b88529);border-color:#b88a37}.player-frame .money-coins{width:34px;height:34px;overflow:visible;stroke:#795018;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.player-frame .money-coin{fill:#dbaa40;transform-box:fill-box;transform-origin:center}.player-frame .money-coin ellipse{fill:#ffe49a}.player-frame .money-coin .money-coin-stamp,.player-frame .money-coin .money-coin-rim{fill:none;stroke:#aa7628;stroke-width:.9}.player-frame .money-change.is-animated .money-coin{animation:money-coin-stack .58s cubic-bezier(.22,1,.36,1) both}.player-frame .money-change.is-animated .money-coin-bottom{animation-delay:.16s}.player-frame .money-change.is-animated .money-coin-middle{animation-delay:.28s}.player-frame .money-change.is-animated .money-coin-top{animation-delay:.4s}.player-frame .money-change.is-outgoing.is-animated .change-card-icon{animation:none}.player-frame .money-change.is-outgoing.is-animated .money-coin{animation-name:money-coin-drop;animation-duration:.52s;animation-timing-function:cubic-bezier(.4,0,1,1)}.player-frame .money-change.is-outgoing.is-animated .money-coin-top{animation-delay:.56s}.player-frame .money-change.is-outgoing.is-animated .money-coin-middle{animation-delay:.92s}.player-frame .money-change.is-outgoing.is-animated .money-coin-bottom{animation-delay:1.28s}@keyframes money-coin-drop{0%{opacity:1;transform:translateY(0) rotate(0)}30%{opacity:1}to{opacity:0;transform:translateY(24px) rotate(24deg)}}.player-frame .money-change.is-counting .change-card-balance{visibility:hidden}.player-frame .money-change.is-animated:not(.is-counting) .change-card-balance{animation:money-balance-in .35s 1s cubic-bezier(.16,1,.3,1) both}@keyframes money-balance-in{0%{opacity:0;transform:translateY(6px);visibility:hidden}to{opacity:1;transform:none;visibility:visible}}.player-frame .money-change.is-counting .change-card-amount{color:#815b19;animation:money-count-glow .56s ease-in-out alternate infinite}.player-frame .money-change.is-outgoing.is-counting .change-card-amount{color:#9d3540}@keyframes resource-card-sheen{0%{transform:translate(-110%);opacity:0}20%{opacity:.75}to{transform:translate(110%);opacity:0}}@keyframes resource-icon-in{0%{opacity:0;transform:translateY(-10px) rotate(-18deg) scale(.55)}65%{opacity:1;transform:translateY(1px) rotate(5deg) scale(1.1)}to{opacity:1;transform:none}}@keyframes resource-copy-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}@keyframes resource-payment-recoil{0%,to{translate:0}30%{translate:-3px}65%{translate:2px}}@keyframes money-coin-stack{0%{opacity:0;transform:translateY(-12px) rotate(-12deg)}65%{opacity:1;transform:translateY(1px) rotate(3deg)}to{opacity:1;transform:none}}@keyframes money-count-glow{0%{text-shadow:0 0 0 transparent}to{text-shadow:0 0 10px rgba(224,167,48,.55)}}@keyframes result-card-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.player-frame .relationship-change{--relationship-accent: #e08aa3;--relationship-ring: var(--bg-raised, #1e1e22);display:flex;align-items:center;gap:14px;width:fit-content;max-width:100%;margin:2px 0 16px;padding:7px 16px 7px 9px;color:var(--fg);background:linear-gradient(100deg,color-mix(in srgb,var(--relationship-accent) 18%,transparent),color-mix(in srgb,var(--relationship-accent) 5%,transparent) 75%),var(--glass-ultrathin, rgba(255, 255, 255, .04));border:1px solid color-mix(in srgb,var(--relationship-accent) 60%,transparent);border-radius:var(--r, 3px);box-shadow:var(--edge-hi, inset 0 1px 0 rgba(255, 255, 255, .05))}.player-frame .relationship-change.is-apart{--relationship-accent: #8fa6bb}.player-frame.mode-challenge-results .relationship-change{--relationship-accent: #b8607a;--relationship-ring: #fffaf2;color:#3b2a26;background:linear-gradient(110deg,#fff8f1,#f6e7de 70%,#efdcd3);border-width:1.5px;box-shadow:0 7px 15px -12px #1e160ee6}.player-frame.mode-challenge-results .relationship-change.is-apart{--relationship-accent: #5f7486;background:linear-gradient(110deg,#f6f7f8,#e5e8ea 70%,#d9dde0)}.player-frame .relationship-portraits{position:relative;flex:none;display:flex;align-items:center}.player-frame .relationship-portrait+.relationship-bond+.relationship-portrait{margin-left:-6px}.player-frame .relationship-portrait{position:relative;display:grid;width:32px;height:32px;place-items:center;overflow:hidden;background:var(--relationship-portrait-color);border:2px solid var(--relationship-ring);border-radius:50%;box-shadow:0 0 0 1.5px var(--relationship-accent)}.player-frame .relationship-portrait img{width:100%;height:100%;object-fit:cover}.player-frame .relationship-initial{color:var(--fg);font:400 16px/1 var(--challenge-display-font, Georgia, serif)}.player-frame .relationship-bond{position:absolute;z-index:2;left:50%;bottom:-4px;translate:-50% 0;display:grid;width:16px;height:16px;box-sizing:border-box;place-items:center;color:var(--relationship-ring);background:var(--relationship-accent);border:1.5px solid var(--relationship-ring);border-radius:50%;font:700 10px/1 -apple-system,Segoe UI,sans-serif}.player-frame .relationship-sentence{margin:0;min-width:0;font-family:inherit;font-size:1em;font-style:italic;line-height:1.25}.player-frame .relationship-change.is-animated{animation:result-card-in .48s cubic-bezier(.16,1,.3,1) both}.player-frame .relationship-change.is-animated .relationship-portrait:first-child{animation:relationship-lean-right .7s .12s cubic-bezier(.16,1,.3,1) both}.player-frame .relationship-change.is-animated .relationship-portrait:last-child{animation:relationship-lean-left .7s .12s cubic-bezier(.16,1,.3,1) both}.player-frame .relationship-change.is-apart.is-animated .relationship-portrait:first-child{animation-name:relationship-lean-left}.player-frame .relationship-change.is-apart.is-animated .relationship-portrait:last-child{animation-name:relationship-lean-right}.player-frame .relationship-change.is-animated .relationship-bond{animation:relationship-bond-pulse .9s .42s ease-out both}@keyframes relationship-lean-right{0%{transform:translate(-6px)}to{transform:none}}@keyframes relationship-lean-left{0%{transform:translate(6px)}to{transform:none}}@keyframes relationship-bond-pulse{0%{transform:scale(.4);opacity:0}45%{transform:scale(1.25);opacity:1}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.player-frame .relationship-change.is-animated,.player-frame .relationship-change.is-animated :is(.relationship-portrait,.relationship-bond){animation:none}}@media(prefers-reduced-motion:reduce){.player-frame .change-card.is-animated,.player-frame .change-card.is-outgoing.is-animated,.player-frame:is(.mode-long,.mode-disco) :is(.challenge-health,.challenge-experience).is-animated,.player-frame .change-card.is-animated:after,.player-frame .change-card.is-animated .change-card-icon,.player-frame .change-card.is-animated .change-card-content,.player-frame .money-change.is-animated .money-coin,.player-frame .money-change.is-animated .change-card-amount,.player-frame .money-change.is-outgoing.is-animated .money-coin,.player-frame .money-change.is-animated:not(.is-counting) .change-card-balance,.player-frame .money-digit-window.is-rolling:before,.player-frame .money-digit-window.is-rolling .money-digit{animation:none}.player-frame .money-denomination{transition:none}.player-frame .change-card.is-animated:after{display:none}.player-frame:is(.mode-long,.mode-disco) :is(.challenge-experience,.challenge-experience-fill,.challenge-health,.challenge-health-fill,.challenge-health-number,.challenge-check,.change-card){animation:none}.player-frame.mode-challenge-results .change-card{animation:none}.player-frame:is(.mode-long,.mode-disco) .challenge-experience.is-animated .challenge-experience-fill{width:var(--experience-after)}.player-frame:is(.mode-long,.mode-disco) .challenge-health.is-animated .challenge-health-fill{width:var(--health-after)}}@media(prefers-reduced-motion:reduce){.player-frame.mode-challenge-results :is(.challenge-experience,.challenge-experience-award,.challenge-experience-fill,.challenge-experience-sheen,.challenge-experience-spark,.challenge-experience-level-up,.challenge-health,.challenge-health-card-body,.challenge-health-portrait,.challenge-health-fill,.challenge-health-sheen,.challenge-health-flash,.challenge-health-amount,.challenge-health-number,.challenge-health-vignette,.challenge-health-dead,.challenge-check,.challenge-check-heading h2,.challenge-check-line,.challenge-check-outcome,.challenge-check-roll,.challenge-check-total,.challenge-check-number,.challenge-check-line-amount,.challenge-team-modifier-arrow,.challenge-team-modifier-arrow-path,.challenge-team-modifier-arrow-head){animation:none}.player-frame.mode-challenge-results .challenge-experience.is-animated .challenge-experience-fill{width:var(--experience-after)}.player-frame.mode-challenge-results .challenge-health.is-animated .challenge-health-fill{width:var(--health-after)}.player-frame.mode-challenge-results .challenge-health.is-animated.is-dead .challenge-health-card-body{filter:grayscale(1);opacity:.48}.player-frame.mode-challenge-results .challenge-health.is-animated.is-dead .challenge-health-portrait{opacity:.12}.player-frame.mode-challenge-results .challenge-health.is-animated.is-dead .challenge-health-dead{opacity:1;transform:none}}.player-frame.mode-challenge-results .challenge-results-actions{grid-area:actions;position:static;height:auto;grid-template-columns:1fr}@media(max-width:860px){.player-frame.mode-challenge-results{grid-template:"title" auto "results" minmax(0,1fr) / minmax(0,1fr);padding:0 12px 12px}.player-frame.mode-challenge-results .player-challenge-results{align-self:stretch;height:auto;min-height:0;grid-template:"heading" auto "team" minmax(210px,44%) "copy" minmax(0,1fr) "actions" 50px / minmax(0,1fr);border-width:6px}.player-frame.mode-challenge-results .challenge-results-team{grid-template-columns:minmax(170px,1fr) minmax(120px,.8fr);grid-template-rows:minmax(0,1fr);padding:12px 18px;border-right:0;border-bottom:2px solid var(--card-line)}.player-frame.mode-challenge-results .challenge-middle-radar{width:min(210px,90%)}.player-frame.mode-challenge-results .challenge-results-assignees{align-self:center;height:90px;flex-wrap:wrap;align-content:center;gap:8px}.player-frame.mode-challenge-results .challenge-results-assignee{width:54px;height:82px;flex-basis:54px}}@media(max-width:480px){.player-frame.mode-challenge-results .challenge-results-title{min-height:44px;font-size:17px}.player-frame.mode-challenge-results .challenge-results-team{grid-template-columns:minmax(145px,1fr) minmax(100px,.7fr);padding:8px 10px}.player-frame.mode-challenge-results .challenge-middle-radar{width:min(175px,94%)}.player-frame.mode-challenge-results .challenge-middle-ability{width:29px;height:29px}.player-frame.mode-challenge-results .challenge-results-copy .player-transcript{padding:18px 22px 10px;font-size:15px}.player-frame.mode-challenge-results .challenge-experience{min-height:104px;grid-template-columns:66px minmax(0,1fr);gap:9px;padding:11px 10px}.player-frame.mode-challenge-results .challenge-experience-portrait{width:62px;height:74px}.player-frame.mode-challenge-results .challenge-experience-heading{gap:6px}.player-frame.mode-challenge-results .challenge-experience-heading h2{font-size:19px}.player-frame.mode-challenge-results .challenge-experience-heading span,.player-frame.mode-challenge-results .challenge-experience-progress-copy{font-size:8px}.player-frame.mode-challenge-results .challenge-experience-award{padding:6px;font-size:9px;letter-spacing:.035em}.player-frame.mode-challenge-results .challenge-experience-track{height:32px}.player-frame.mode-challenge-results .challenge-experience-level-up{font-size:12px}.player-frame.mode-challenge-results .challenge-health{min-height:104px}.player-frame.mode-challenge-results .challenge-health-card-body{min-height:104px;grid-template-columns:66px minmax(0,1fr);gap:9px;padding:11px 10px}.player-frame.mode-challenge-results .challenge-health-portrait{width:62px;height:74px}.player-frame.mode-challenge-results .challenge-health-heading{gap:6px}.player-frame.mode-challenge-results .challenge-health-heading h2{font-size:19px}.player-frame.mode-challenge-results .challenge-health-heading span,.player-frame.mode-challenge-results .challenge-health-progress-copy{font-size:8px}.player-frame.mode-challenge-results .challenge-health-amount{padding:6px;font-size:9px;letter-spacing:.035em}.player-frame.mode-challenge-results .challenge-health-track{height:32px}.player-frame.mode-challenge-results .challenge-health-dead{gap:6px;padding:8px}.player-frame.mode-challenge-results .challenge-health-dead>strong{font-size:44px}.player-frame.mode-challenge-results .challenge-health-dead>span{max-width:96%;font-size:10px}}body:has(.game-dialog-layer){--game-dialog-motion-duration: .48s;--game-dialog-motion-ease: cubic-bezier(.22, 1, .36, 1)}.game-dialog-layer{position:fixed;inset:0;z-index:50;pointer-events:none}.game-dialog-layer>*{pointer-events:auto}.game-dialog-layer{opacity:1;transition:opacity var(--game-dialog-motion-duration) var(--game-dialog-motion-ease)}.game-dialog-layer.is-hidden{opacity:0;visibility:hidden;transition:none}.game-dialog-layer:is(.is-entering,.is-leaving){opacity:0}.game-dialog-layer.is-leaving>*{pointer-events:none}.game-dialog-layer .player-overlay .player-frame{animation:none;opacity:1;transition:transform var(--game-dialog-motion-duration) var(--game-dialog-motion-ease),opacity var(--game-dialog-motion-duration) var(--game-dialog-motion-ease)}.game-dialog-layer:is(.is-hidden,.is-entering,.is-leaving) .player-frame,.game-dialog-layer.is-mode-entering .player-frame{transform:translateY(14px) scale(.985)}.game-dialog-layer.is-hidden .player-frame,.game-dialog-layer.is-mode-entering .player-frame{transition:none}.game-dialog-layer.is-mode-entering .player-frame{opacity:0}@media(prefers-reduced-motion:reduce){.game-dialog-layer .player-overlay .player-frame{transition:none}.game-dialog-layer:is(.is-hidden,.is-entering,.is-leaving,.is-mode-entering) .player-frame{opacity:1;transform:none}}.game-dialog-layer .player-overlay{background:linear-gradient(to top,rgba(0,0,0,.55),transparent 45%);-webkit-backdrop-filter:none;backdrop-filter:none}.game-dialog-layer:has(.player-frame.mode-challenge) .player-overlay{background:none}.game-dialog-layer .player-frame{background:linear-gradient(#1e1b17f7,#141210f7);border:1px solid #4a443a;border-radius:4px;color:#d8d2c4;box-shadow:inset 0 1px #ffffff0f,0 18px 60px #000000a6}.game-dialog-layer .player-frame.mode-speaker,.game-dialog-layer .player-frame.mode-challenge{background:none;border-color:transparent;box-shadow:none}.game-dialog-layer .player-hint{font-family:Georgia,Times New Roman,serif;font-size:12.5px;color:#9a9284}.game-dialog-layer .player-hint.is-urgent,.game-dialog-layer .player-transcript:hover .player-hint{color:#efe9da}.game-dialog-layer.mode-disco .player-overlay{background:none}.game-dialog-layer .player-frame.mode-disco{border-radius:0;border-top:0;border-right:0;border-bottom:0;box-shadow:inset 1px 0 #ffffff0f,-12px 0 40px #00000040}.game-dialog-layer.mode-disco:is(.is-hidden,.is-entering,.is-leaving,.is-mode-entering) .player-frame{transform:translate(calc(100% + var(--disco-portrait-gutter)))}@media(prefers-reduced-motion:reduce){.game-dialog-layer.mode-disco:is(.is-hidden,.is-entering,.is-leaving,.is-mode-entering) .player-frame{transform:none}}
