/* R43: visible result actions, compact brightness controls and raffle flow. */
.a #feature-dialog{
 width:min(1080px,94vw);height:min(446px,calc(100dvh - 40px));
 max-height:calc(100dvh - 40px);overflow:hidden;background:#fff;
}
.a #feature-dialog #dialog-content{height:100%;min-height:0}
.a #feature-dialog .lifestyle-reveal{
 display:grid;grid-template-columns:62% 38%;grid-template-rows:minmax(0,1fr);
 height:100%;min-height:0;background:#fff;
}
.a #feature-dialog .lifestyle-image{height:100%!important;min-height:0;aspect-ratio:auto}
.a #feature-dialog .lifestyle-copy{
 display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
 min-width:0;min-height:0;overflow:hidden;padding:24px;background:#fff;
}
.a #feature-dialog .lifestyle-text{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.a #feature-dialog .lifestyle-copy .eyebrow{font-size:10px;line-height:1.4;letter-spacing:.08em;text-transform:none}
.a #feature-dialog .lifestyle-label{font-size:12px;line-height:1.5;margin:12px 0 9px}
.a #feature-dialog .lifestyle-copy h2{font-size:30px;line-height:1.22;letter-spacing:0;margin:0 0 18px}
.a #feature-dialog .feature-detail{gap:10px;padding:15px 0 0;margin:0;border-top:1px solid #ded8e4}
.a #feature-dialog .feature-detail .feature-icon{width:27px;height:27px;margin:2px 0}
.a #feature-dialog .feature-detail>div{min-width:0}
.a #feature-dialog .feature-detail-kicker{font-size:10px;line-height:1.4;letter-spacing:.06em;margin:0 0 3px}
.a #feature-dialog .feature-detail h3{font-size:14px;line-height:1.5;margin:0 0 5px}
.a #feature-dialog .feature-detail p{font-size:13px;line-height:1.6;margin:0}
.a #feature-dialog .lifestyle-actions{flex:none;width:100%;padding:12px 2px 2px;background:#fff}
.a #feature-dialog .lifestyle-actions .primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:11px 16px;margin:0;font-size:14px;line-height:1.4}

/* The left mode tabs and right function keys share a single control strip. */
.a .game-r6 .r6-keyboard-panel{
 display:grid;grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:16px;
 width:min(420px,43%);min-height:98px;padding:12px 14px;
}
.brightness-mode-panel,.brightness-key-panel{min-width:0}
.brightness-control-label{display:block;color:#e9e6f3;font-size:11px;line-height:1.4;margin-bottom:6px}
.a .game-r6 .brightness-options{grid-column:auto;grid-row:auto;gap:3px;margin:0;padding:3px;border-radius:10px;background:#12192566}
.a .game-r6 .brightness-options button{font-size:11px;min-height:34px;padding:5px 4px;white-space:nowrap;border-color:transparent;border-radius:7px}
.a .game-r6 .brightness-options button[aria-pressed=true]{background:#eee6ff;color:#4d297e;box-shadow:0 1px 4px #0002}
.a .game-r6 .brightness-targets{margin-top:5px;background:transparent;padding:0}
.a .game-r6 .brightness-targets[hidden]{display:none}
.a .game-r6 .brightness-targets button{min-height:27px;font-size:10px;border-color:#ffffff50}
.a .game-r6 .r6-keyboard-caption{font-size:10px;line-height:1.4;gap:5px;margin:0 0 5px}
.a .game-r6 .r6-keyboard-caption #brightness-label{font-variant-numeric:tabular-nums;white-space:nowrap}
.a .game-r6 .r6-keyboard-panel .mac-keyboard{gap:7px;grid-column:auto;grid-row:auto}
.a .game-r6 .r6-keyboard-panel .key-button{flex:1;min-width:0;height:52px;min-height:52px;padding:4px;gap:1px;touch-action:manipulation}
.a .game-r6 .r6-keyboard-panel .key-sun{width:23px;height:23px}
.a .game-r6 .r6-keyboard-panel .key-sun.small{width:20px;height:20px}
.a .game-r6 .r6-keyboard-panel .key-button small{font-size:10px}
@media(min-width:821px){.a .game-r6 .r6-scene.night .r6-scene-heading{left:5%;right:49%;width:auto}}

/* A radio dot and the card outline communicate selection; no check glyph. */
.a .vote-card[aria-pressed=true]::after,
.a .vote-card[aria-pressed=true] .choice-marker::after{content:none;display:none}
.a .vote-card[aria-pressed=true] .choice-marker{background:var(--feature-color);border-color:var(--feature-color);box-shadow:inset 0 0 0 4px #fff}

/* Flow is inside the measured vote fill, so the percentages never drift. */
/* R46: light transmitted through broad glass ribbons, matching the MA wallpaper. */
.a .bar-track{height:23px;overflow:hidden;background:linear-gradient(180deg,#f6f3fa,#f0ebf6);box-shadow:inset 0 1px 2px #80669508}
.a .bar-fill{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(112deg,color-mix(in srgb,var(--feature-color) 55%,#fff) 0%,color-mix(in srgb,var(--feature-color) 27%,#fff) 32%,color-mix(in srgb,var(--feature-color) 54%,#fff) 60%,color-mix(in srgb,var(--feature-color) 84%,#fff) 100%);box-shadow:inset 0 1px 0 #ffffffd9,inset 0 -1px 0 #ffffff70}
.a .bar-fill:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#ffffff66 0%,#ffffff08 42%,#ffffff00 62%,#ffffff38 100%);box-shadow:inset 0 0 0 1px #ffffff2e}
.a .bar-flow{position:absolute;inset:-40% -48%;pointer-events:none;opacity:.92;will-change:transform;background-image:url('assets/r46/vote-glass-ribbons.svg');background-repeat:no-repeat;background-size:100% 100%;animation:ma-vote-flow 7s ease-in-out infinite alternate}
.a .bar-item:nth-child(2) .bar-flow{animation-delay:-2s}
.a .bar-item:nth-child(3) .bar-flow{animation-delay:-4s}
.a .bar-item:nth-child(4) .bar-flow{animation-delay:-6s}
@keyframes ma-vote-flow{from{transform:translate(-9%,-8%) rotate(-4deg)}to{transform:translate(9%,8%) rotate(4deg)}}

.a .result-reward-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:12px}
.a .result-reward-actions .primary{font-size:14px;padding:13px 22px;min-height:46px}
.a .result-reward-actions .text-button{min-height:44px;font-size:13px}
.a .draw-entry .draw-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.a .draw-entry .draw-field-wide{grid-column:1/-1}
.a .draw-entry{scroll-margin-top:28px}
.a #draw-form{scroll-margin-top:28px}
.a .draw-entry .draw-fields input{min-height:48px}
.winner-entry-link{border:0;background:none;color:#684594;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;min-height:44px;padding:8px 12px}
.a>footer{flex-wrap:wrap}

/* Separate, accessible announcement dialog. All published samples are masked. */
#winner-dialog{width:min(680px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #e4daed;border-radius:24px;background:#fff;color:#35263f;overflow:auto}
#winner-dialog::backdrop{background:#30204070;backdrop-filter:blur(8px)}
.winner-dialog-header{position:sticky;top:0;z-index:1;padding:26px 68px 18px 28px;background:#fff;border-bottom:1px solid #eee7f5}
.winner-dialog-header .eyebrow{font-size:10px;letter-spacing:.12em;color:#8a71a0}
.winner-dialog-header h2{font-size:28px;line-height:1.35;margin:6px 0 0}
.winner-dialog-close{position:absolute;top:18px;right:18px;width:44px;height:44px;border:1px solid #e5d9ee;border-radius:50%;background:#f8f4fc;color:#684594;font-size:28px;line-height:1;cursor:pointer}
.winner-dialog-body{padding:20px 28px 26px}
.winner-preview-label{display:inline-block;background:#f1e9fc;color:#694398;padding:5px 10px;border-radius:20px;font-size:12px}
.winner-dialog-body>p{font-size:14px;line-height:1.7;margin:12px 0 20px;color:#75657f}
.winner-table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}
.winner-table caption{font-size:12px;text-align:left;color:#81728e;padding-bottom:12px}
.winner-table th{background:#f8f5fc;color:#736180;font-size:12px;font-weight:500;padding:12px 10px}
.winner-table td{padding:17px 10px;border-bottom:1px solid #eee7f5;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.winner-dialog-body .winner-dialog-done{display:block;min-height:46px;padding:12px 24px;margin:24px auto 0;font-size:14px}

@media(max-width:1099px){
 .a #feature-dialog{width:min(520px,94vw);height:min(calc(min(520px,94vw) * 2 / 3 + 306px),calc(100dvh - 32px));max-height:calc(100dvh - 32px)}
 .a #feature-dialog .lifestyle-reveal{grid-template-columns:1fr;grid-template-rows:min(calc(min(520px,94vw) * 2 / 3),43dvh) minmax(0,1fr)}
 .a #feature-dialog .lifestyle-copy{padding:16px 20px}
 .a #feature-dialog .lifestyle-copy .eyebrow{font-size:9px;line-height:1.3}
 .a #feature-dialog .lifestyle-label{font-size:11px;line-height:1.4;margin:9px 0 7px}
 .a #feature-dialog .lifestyle-copy h2{font-size:26px;line-height:1.22;margin:0 0 12px}
 .a #feature-dialog .feature-detail{padding-top:12px;margin:0;gap:10px}
 .a #feature-dialog .feature-detail .feature-icon{width:24px;height:24px}
 .a #feature-dialog .feature-detail h3{font-size:13px;line-height:1.4;margin:0 0 4px}
 .a #feature-dialog .feature-detail p{font-size:12px;line-height:1.5}
 .a #feature-dialog .lifestyle-actions{padding-top:10px}
 .a #feature-dialog .lifestyle-actions .primary{min-height:44px;padding:10px 14px;font-size:13px}
 .a #feature-dialog .lifestyle-number{left:20px;bottom:16px;font-size:8px}
}
@media(max-width:820px){
 .a .game-r6 .r6-scene.night .r6-scene-heading{top:5%;left:6%;right:6%}
 .a .game-r6 .r6-scene.night .r6-scene-heading h3{font-size:clamp(21px,5.6vw,28px);line-height:1.35}
 .a .game-r6 .r6-scene.night .r6-scene-heading p{font-size:12px;line-height:1.6;margin-top:8px}
 .a .game-r6 .r6-keyboard-panel{left:4%;right:4%;width:auto;grid-template-columns:minmax(0,1fr) 116px;gap:12px;min-height:82px;padding:10px}
 .a .game-r6 .r6-keyboard-panel .key-button{height:48px;min-height:48px}
 .a .game-r6 .r6-scene.night .r6-confirm-dock{padding:14px 18px;gap:8px;bottom:16px}
 .a .game-r6 .r6-scene.night .r6-confirm-dock p{margin:0;font-size:11px;line-height:1.5}
 .a .game-r6 .r6-scene.night .r6-confirm-dock .primary{min-height:46px;padding:12px 16px;font-size:13px}
 .a .r13-results{display:flex;flex-direction:column}
 .a .r13-results .result-heading{order:0}
 .a .r13-results .draw-entry{order:1;margin:0 0 22px;padding:22px 18px}
 .a .r13-results .vote-chart{order:2}
 .a .r13-results .result-footer{order:3}
 .a .draw-entry .draw-fields{grid-template-columns:1fr;gap:15px}
 .a .draw-entry .draw-field-wide{grid-column:auto}
 .a .draw-entry .primary{width:100%}
 .winner-dialog-header{padding:22px 64px 16px 20px}
 .winner-dialog-header h2{font-size:24px}
 .winner-dialog-body{padding:18px 20px 22px}
 .winner-table{font-size:12px}
 .winner-table th,.winner-table td{padding:12px 5px}
}
@media(max-width:370px){
 .a .game-r6 .r6-keyboard-panel{grid-template-columns:minmax(0,1fr) 100px;gap:8px}
 .a .game-r6 .brightness-options button{font-size:10px}
 .a #feature-dialog .lifestyle-copy{padding:14px 16px}
 .a #feature-dialog .lifestyle-copy h2{font-size:24px}
}
@media(max-height:480px){
 .a #feature-dialog{width:min(880px,96vw);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}
 .a #feature-dialog .lifestyle-reveal{grid-template-columns:48% 52%;grid-template-rows:minmax(0,1fr)}
 .a #feature-dialog .lifestyle-copy{padding:14px 18px}
 .a #feature-dialog .lifestyle-copy h2{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.a .bar-flow{animation:none;will-change:auto}}
