:root{--bg:#f6f3ec;--ink:#24251f;--muted:#797a70;--line:#dcded1;--lime:#dbef76;--purple:#d7cbf0;--orange:#f4c8a8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}header{max-width:1440px;margin:auto;padding:27px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.logo{font-size:35px;font-weight:950;letter-spacing:-3px;text-decoration:none;color:var(--ink)}.logo span{color:#81864f}.logo .logo-dot{color:#9484b4}.header-right{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:bold;letter-spacing:1.5px}.status-dot{width:7px;height:7px;background:#899c47;border-radius:50%}.version{border:1px solid var(--line);border-radius:30px;padding:8px 12px;margin-left:15px}main{max-width:1280px;margin:auto;padding:60px 5% 50px;min-height:calc(100vh - 160px)}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:2px;text-transform:uppercase;margin:0 0 22px}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.hero h1{font-size:clamp(55px,6.4vw,88px);letter-spacing:-5px;line-height:1.03;margin:0 0 26px;font-weight:900}.hero h1 em{font-style:normal;background:var(--lime);padding:0 7px;display:inline-block;transform:rotate(-2deg)}.hero p{font-size:17px;line-height:1.7;max-width:460px;color:#636559}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.tag,.pill{border:1px solid var(--line);border-radius:30px;padding:8px 12px;font-size:11px;font-weight:bold}.tag{background:#eeede4}.panel{background:#fffdf7;border:1px solid var(--line);border-radius:22px;padding:28px}.panel h2{font-size:23px;margin:0 0 8px;letter-spacing:-.6px}.sub{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 22px}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:25px;gap:22px}.tab{border:0;background:none;font-weight:bold;font-size:13px;padding:0 0 13px;color:var(--muted)}.tab.active{color:var(--ink);border-bottom:3px solid var(--ink)}label{display:block;font-size:12px;font-weight:bold;margin:17px 0 8px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:13px;color:var(--ink)}textarea{resize:vertical;min-height:110px}input::placeholder{color:#919387}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.btn{border:1px solid var(--ink);border-radius:10px;background:var(--ink);color:#fff;padding:14px 20px;font-weight:bold;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--lime);color:var(--ink)}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.btn.full{width:100%;margin-top:22px}.btn.small{padding:8px 12px;font-size:11px}.hint{font-size:11px;line-height:1.6;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:65px;border-top:1px solid var(--line);padding-top:26px}.step{display:flex;gap:13px;align-items:flex-start}.step-number{font-size:11px;border:1px solid var(--line);border-radius:50%;padding:8px}.step h3{font-size:13px;margin:2px 0 7px}.step p{font-size:12px;color:var(--muted);line-height:1.6;margin:0}.room-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:15px}.room-heading h1{font-size:35px;margin:0;letter-spacing:-1.5px}.room-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}.room-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:26px}.sidebar{display:flex;flex-direction:column;gap:20px}.sidebar .panel{padding:21px}.sidebar h2{font-size:16px}.players{padding:0;list-style:none;margin:14px 0 0}.player{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:12px 0;border-bottom:1px solid var(--line);gap:8px}.player:last-child{border:0}.avatar{display:inline-flex;width:29px;height:29px;background:var(--purple);border-radius:50%;align-items:center;justify-content:center;font-weight:bold;margin-right:8px}.player-name{display:flex;align-items:center;min-width:0}.player-name span:last-child{overflow-wrap:anywhere}.muted{color:var(--muted)}.good{color:#53642a;font-weight:bold}.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.mini-card{min-height:78px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:13px;text-align:left;font-weight:bold;font-size:12px;position:relative}.mini-card.selected{background:var(--lime);border:2px solid #66772f;padding:12px}.mini-card.selected:after{content:'✓';position:absolute;right:7px;top:5px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-heading h2{margin:0}.notice{background:#eeefe0;border-radius:10px;padding:12px 15px;font-size:12px;line-height:1.7;margin:15px 0}.duel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;font-size:11px;letter-spacing:1px}.duel{display:grid;grid-template-columns:1fr 36px 1fr;gap:12px;align-items:center}.versus{font-size:13px;font-weight:900;text-align:center}.choice{border:1px solid var(--line);background:var(--purple);border-radius:16px;min-height:270px;padding:24px 18px;color:var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;position:relative;transition:transform .15s,border-color .15s}.choice:nth-child(3){background:var(--orange)}.choice:not(:disabled):hover{transform:translateY(-4px)}.choice:disabled{opacity:1}.choice.picked{outline:3px solid var(--ink);outline-offset:3px}.choice.winner{background:var(--lime)}.choice .symbol{font-size:35px;font-weight:900;opacity:.35;margin:10px}.choice strong{font-size:clamp(20px,2.5vw,30px);letter-spacing:-1px;line-height:1.15}.choice .plus{font-size:17px;margin:12px;opacity:.5}.choice .label{font-size:10px;letter-spacing:1.4px;font-weight:bold;margin-bottom:20px}.choice .result{font-size:29px;font-weight:900;margin-top:22px}.choice .result small{display:block;font-size:11px;font-weight:normal;letter-spacing:0;margin-top:7px}.duel-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:25px;gap:15px;flex-wrap:wrap}.vote-progress{font-size:12px;color:var(--muted)}.progress-track{height:5px;background:var(--line);border-radius:20px;margin-top:9px;width:160px}.progress-track div{background:#879945;height:100%;border-radius:20px}.round-history{margin-top:25px}.round-history summary{font-size:13px;font-weight:bold;cursor:pointer}.history-item{display:grid;grid-template-columns:1fr 20px 1fr;gap:10px;font-size:11px;padding:12px 0;border-bottom:1px solid var(--line);align-items:center}.history-item .won{font-weight:bold;color:#53642a}.history-item .lost{color:var(--muted)}.history-title{font-size:11px;font-weight:bold;letter-spacing:1px;margin:20px 0 3px}.crown{font-size:55px;margin:15px}.finished{text-align:center;padding:35px 20px}.finished h2{font-size:45px;letter-spacing:-2px;margin:12px}.score-big{font-weight:bold;background:var(--lime);border-radius:20px;padding:5px 10px;white-space:nowrap}.ranking{max-width:450px;margin:25px auto;text-align:left}.recent{margin-top:24px;font-size:12px}.recent a{color:var(--ink)}.error{color:#a33333;font-size:12px;line-height:1.6;min-height:16px;margin:12px 0 0}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:12px;padding:14px 22px;font-size:13px;max-width:90vw;box-shadow:0 8px 30px #0002;z-index:10;display:none}footer{max-width:1440px;margin:auto;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 5%;font-size:11px;color:var(--muted)}details.rules{margin-top:20px;font-size:12px;line-height:1.7}details.rules summary{cursor:pointer;font-weight:bold}.card-status{font-size:11px;margin-top:7px;color:var(--muted)}@media(max-width:900px){.hero-grid{gap:30px}.room-grid{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr}.cards-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:650px){header{padding:20px 5%}.header-right>span:nth-child(2){display:none}.hero-grid{grid-template-columns:1fr;gap:35px}main{padding-top:35px}.hero h1{font-size:64px;letter-spacing:-4px}.steps{grid-template-columns:1fr;margin-top:35px}.panel{padding:20px}.cards-grid{grid-template-columns:repeat(2,1fr)}.sidebar{grid-template-columns:1fr}.choice{min-height:240px;padding:18px 10px}.duel{gap:8px;grid-template-columns:1fr 25px 1fr}.room-heading{align-items:flex-start}.room-heading h1{font-size:28px}.room-heading>.btn{padding:10px;font-size:11px}.finished h2{font-size:35px}footer{gap:20px;line-height:1.6}.header-right{gap:5px}.version{margin-left:5px}}

@media(min-width:651px) and (max-width:820px){.hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:72px}.hero p{max-width:550px}.hero-grid>.panel{max-width:580px;width:100%}}
.duel-top{flex-wrap:wrap;gap:10px}#vote-timer{font-variant-numeric:tabular-nums;background:var(--lime);min-width:70px;text-align:center}
.picker{border:0;padding:0;margin:23px 0 0;min-width:0}.picker legend{padding:0;margin-bottom:10px;font-size:12px;font-weight:bold}.chip-row{display:flex;gap:8px}.choice-chip{position:relative;margin:0;flex:1;cursor:pointer}.choice-chip input,.theme-card input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.choice-chip>span{display:block;text-align:center;border:1px solid var(--line);border-radius:10px;padding:12px 5px;background:var(--bg);font-size:12px;transition:background .15s,border-color .15s}.choice-chip:has(input:checked)>span{background:var(--lime);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.choice-chip:has(input:disabled){opacity:.4;cursor:default}.choice-chip:has(input:focus-visible)>span,.theme-card:has(input:focus-visible){outline:3px solid #746198;outline-offset:3px}.theme-picker{margin-top:28px}.theme-picker legend{font-size:19px;letter-spacing:-.5px;margin-bottom:8px}.theme-picker .sub{margin-bottom:15px}.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.theme-card{position:relative;display:flex;gap:10px;align-items:flex-start;min-height:100px;border:1px solid var(--line);border-radius:13px;margin:0;padding:14px 12px;background:var(--bg);cursor:pointer;transition:background .15s,transform .15s,border-color .15s}.theme-card:hover{background:#efebdf;transform:translateY(-2px)}.theme-card:has(input:checked){background:var(--lime);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.theme-card:nth-child(3n+2) .theme-symbol{background:var(--purple)}.theme-card:nth-child(3n) .theme-symbol{background:var(--orange)}.theme-symbol{display:flex;align-items:center;justify-content:center;background:#e4e4d5;border-radius:8px;min-width:28px;height:28px;font-size:21px;font-weight:900}.theme-copy{display:flex;flex-direction:column;gap:5px;min-width:0;padding-right:10px}.theme-copy strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.theme-category{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#656557}.theme-count{font-size:10px;font-weight:normal;color:#686959}.theme-check{position:absolute;right:9px;top:10px;font-size:12px;opacity:0}.theme-card:has(input:checked) .theme-check{opacity:1}.hero-grid{align-items:start}.hero-grid>.hero{position:sticky;top:45px;padding-top:80px}@media(max-width:820px){.hero-grid>.hero{position:static;padding-top:0}}@media(max-width:360px){.theme-grid{grid-template-columns:1fr}}

.message-field{margin-top:24px}.message-field textarea{min-height:85px;resize:vertical}.room-message{background:var(--purple);border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin:0 0 24px}.room-message .eyebrow{font-size:10px}.room-message p{margin:8px 0 0;font-size:16px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}

.danger{color:#993d3d;border-color:#dcbaba}.danger:hover{background:#f6e5e1}.session-ended{max-width:760px;margin:30px auto;text-align:center;padding:40px 25px}.session-ended h1{font-size:32px;line-height:1.25;margin:20px 0}

.exit-dialog{max-width:450px;width:calc(100% - 40px);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:28px}.exit-dialog::backdrop{background:#23241fcc}.exit-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}

.room-grid.room-finished{grid-template-columns:1fr}.room-finished>.sidebar{display:none}.room-finished .finished{padding:30px 20px}.room-finished .crown{font-size:38px;margin:5px}.final-recap{margin-top:24px}.final-recap>.sub{margin:15px 0 22px}.recap-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.recap-player{border:1px solid var(--line);border-radius:15px;padding:20px;background:var(--bg);min-width:0}.recap-leader{border-color:#879945;background:#f5f7e7}.recap-player-heading{display:flex;align-items:center;gap:12px;margin-bottom:18px}.recap-rank{display:flex;justify-content:center;align-items:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;background:var(--purple);font-weight:bold}.recap-leader .recap-rank{background:var(--lime);font-size:24px}.recap-player-heading h3{font-size:17px;flex:1;margin:0;overflow-wrap:anywhere}.recap-total{font-size:32px;font-weight:900;line-height:1;text-align:right}.recap-total small{display:block;font-size:10px;font-weight:normal;margin-top:5px}.recap-table-wrap{overflow-x:auto}.recap-table{width:100%;border-collapse:collapse;text-align:right;font-size:12px}.recap-table th,.recap-table td{padding:12px 6px;border-bottom:1px solid var(--line)}.recap-table thead th{font-size:10px;color:var(--muted);font-weight:normal}.recap-table th:first-child{text-align:left;min-width:100px}.recap-card-total{font-weight:900}.recap-trail{margin-top:18px}.recap-trail>.eyebrow{font-size:9px}.recap-events{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.recap-event{background:var(--purple);border-radius:8px;padding:8px 10px;font-size:10px}.recap-event strong{margin-left:6px}.recap-event small{display:block;font-size:9px;color:#55505e;margin-top:4px;max-width:200px;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:850px){.recap-players{grid-template-columns:1fr}}@media(max-width:650px){.recap-player{padding:14px}.recap-table{font-size:11px}.recap-table th,.recap-table td{padding:10px 4px}.recap-player-heading h3{font-size:15px}}

.final-actions{display:flex;justify-content:flex-end;margin-top:24px}
#voice-dock{position:sticky;bottom:12px;z-index:5;max-width:1150px;margin:0 auto 24px;background:#fffefa;border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 30px #0002;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}#voice-dock[hidden]{display:none}.voice-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.voice-title strong{font-size:13px}.voice-title .hint{margin:0}.voice-dot{width:9px;height:9px;border-radius:50%;background:#bbb}.voice-dot.live{background:#78962b}.voice-controls{display:flex;gap:8px;flex-wrap:wrap}.voice-people{display:flex;flex-wrap:wrap;gap:7px;width:100%}.voice-person{font-size:11px;padding:7px 10px;background:var(--bg);border-radius:20px;border:1px solid transparent}.voice-person.speaking{background:var(--lime);border-color:#78962b}.voice-note{font-size:11px;color:var(--muted);margin:0;width:100%;line-height:1.5}@media(max-width:650px){#voice-dock{margin:0 5% 18px;padding:14px;bottom:8px}.voice-controls{width:100%}}

.revealed-voters{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:15px;width:100%}.voter-name{font-size:11px;line-height:1.4;background:#ffffffa6;border:1px solid #23241f18;border-radius:20px;padding:5px 9px;overflow-wrap:anywhere}.voter-empty{font-size:11px;color:var(--muted)}

.replay-dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:18px;width:calc(100% - 30px);max-width:650px;max-height:88vh;padding:26px;overflow-y:auto}.replay-dialog::backdrop{background:#23241fcc}.replay-dialog .exit-actions{margin-top:20px}.replay-dialog h2{margin-top:12px}

/* Shared DIL’M cards, independent of theme and candidate. */
.theme-icon{width:24px;height:24px;display:block;flex-shrink:0;pointer-events:none}.theme-card .theme-symbol,.theme-card:nth-child(3n+2) .theme-symbol,.theme-card:nth-child(3n) .theme-symbol{background:#e9e7df;color:#5c5d50;min-width:32px;width:32px;height:32px}.theme-symbol .theme-icon{width:20px;height:20px}
.playing-card{position:relative;isolation:isolate;overflow:hidden}.playing-card::before{content:'';position:absolute;inset:9px;border:1px solid #c9c9ba;border-radius:10px;pointer-events:none;z-index:-1}.card-theme-mark{position:absolute;right:21px;top:21px;color:#848675}.card-brand{font-size:11px;font-weight:900;letter-spacing:-.7px;color:#929581;pointer-events:none}.card-face{display:flex;justify-content:center;align-items:center;min-width:0;width:100%}.card-face strong{overflow-wrap:anywhere}.card-faces{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;min-height:180px}
.choice.playing-card,.choice.playing-card:nth-child(3),.choice.playing-card.winner{background:#eeeee4;color:var(--ink);border:1px solid #c6c8b6;min-height:330px;padding:26px 24px 20px;box-shadow:0 6px 0 #24251f0a}.choice.playing-card .label{align-self:flex-start;font-size:9px;letter-spacing:1.8px;margin:0 32px 0 0;min-height:23px;display:flex;align-items:center}.choice.playing-card .card-brand{align-self:flex-start;margin-top:16px}.choice.playing-card strong{font-size:clamp(22px,2.6vw,33px);letter-spacing:-1px;line-height:1.2}.choice.playing-card.picked{outline:3px solid #6b7350;outline-offset:3px}.choice.playing-card.winner{outline:3px solid #849a3f;outline-offset:3px}.choice.playing-card.winner .label{background:var(--lime);border-radius:5px;padding:5px 8px;color:#334126}.choice.playing-card .result{border-top:1px solid #c9c9ba;width:100%;padding-top:15px;margin-top:18px}.choice.playing-card .plus{font-size:16px;margin:16px;color:#939783;opacity:1}.choice-duo.playing-card .card-face strong{font-size:clamp(20px,2.2vw,27px)}
.mini-card.playing-card{background:#eeeee4;color:var(--ink);border:1px solid #c6c8b6;min-height:124px;padding:36px 13px 28px;text-align:center}.mini-card.playing-card .card-face strong{font-size:13px;line-height:1.35;letter-spacing:0}.mini-card.playing-card .card-theme-mark{top:14px;right:14px}.mini-card.playing-card .theme-icon{width:16px;height:16px}.mini-card.playing-card .card-brand{position:absolute;bottom:13px;left:16px;font-size:8px}.mini-card.playing-card.selected{background:#eeeee4;border:2px solid #7d8d4a;padding:35px 12px 27px;box-shadow:0 0 0 2px #dbef76}.mini-card.playing-card.selected:after{left:13px;right:auto;top:11px;color:#53642a}
@media(max-width:650px){.choice.playing-card,.choice.playing-card:nth-child(3){min-height:280px;padding:21px 14px 18px}.playing-card::before{inset:7px;border-radius:9px}.choice.playing-card .card-theme-mark{top:19px;right:17px}.choice.playing-card .theme-icon{width:19px;height:19px}.choice.playing-card .label{font-size:8px;letter-spacing:1px;margin-right:25px}.choice.playing-card strong{font-size:23px;letter-spacing:-.7px}.card-faces{min-height:165px}.choice-duo.playing-card .card-face strong{font-size:19px}.choice.playing-card .plus{margin:12px}.choice.playing-card .card-brand{font-size:10px}}
@media(prefers-reduced-motion:reduce){.choice,.theme-card{transition:none}.choice:not(:disabled):hover,.theme-card:hover{transform:none}}

/* DIL’M logo, redrawn as a vector from the supplied reference. */
.logo{display:inline-flex;align-items:center;gap:12px;letter-spacing:0}.logo-mark{display:block;width:36px;height:45px;flex-shrink:0}.logo .logo-wordmark{font-size:32px;font-weight:900;letter-spacing:-1px;background:linear-gradient(135deg,#b07778,#7385aa);background-clip:text;-webkit-background-clip:text;color:transparent}.card-brand{display:flex;align-items:center}.card-brand img{display:block;width:22px;height:28px;opacity:.75}.mini-card.playing-card .card-brand{bottom:11px;left:15px}.mini-card .card-brand img{width:12px;height:15px}.mini-card.playing-card{padding-bottom:31px}.mini-card.playing-card.selected{padding-bottom:30px}@media(max-width:650px){.logo{gap:9px}.logo-mark{width:30px;height:38px}.logo .logo-wordmark{font-size:27px}.choice .card-brand img{width:19px;height:24px}}

/* Larger corner marks, with space reserved for the bottom signature. */
.choice.playing-card,.choice.playing-card:nth-child(3){padding-bottom:72px;min-height:350px}.choice.playing-card .card-theme-mark{top:22px;right:22px}.choice.playing-card .theme-icon{width:38px;height:38px}.choice.playing-card .label{margin-right:48px}.choice.playing-card .card-brand{position:absolute;bottom:21px;left:24px;margin:0}.choice.playing-card .card-brand img{width:36px;height:45px;opacity:.9}.mini-card.playing-card{min-height:148px;padding-top:48px;padding-bottom:43px}.mini-card.playing-card.selected{padding-top:47px;padding-bottom:42px}.mini-card.playing-card .theme-icon{width:26px;height:26px}.mini-card.playing-card .card-brand{bottom:12px;left:16px}.mini-card.playing-card .card-brand img{width:22px;height:28px;opacity:.9}
@media(max-width:650px){.choice.playing-card,.choice.playing-card:nth-child(3){padding-bottom:62px;min-height:300px}.choice.playing-card .card-theme-mark{top:17px;right:16px}.choice.playing-card .theme-icon{width:30px;height:30px}.choice.playing-card .card-brand{bottom:17px;left:17px}.choice.playing-card .card-brand img{width:29px;height:36px}.choice.playing-card .label{margin-right:36px}}

/* Personal prediction reminder: independent of the selected vote. */
.card-face{flex-direction:column;gap:12px}.favorite-reminder{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#f3e1a5;color:#6d5320;border:1px solid #cdb66f;border-radius:30px;padding:6px 10px;font-size:11px;font-weight:bold;line-height:1.2;letter-spacing:0;white-space:nowrap}.favorite-reminder>span{font-size:13px}.is-favorite strong{text-decoration:underline;text-decoration-color:#d9bc65;text-decoration-thickness:3px;text-underline-offset:7px}.choice-duo .card-face{gap:9px}@media(max-width:650px){.favorite-reminder{font-size:10px;padding:5px 8px}.favorite-reminder>span{font-size:12px}.card-face{gap:10px}.is-favorite strong{text-underline-offset:5px;text-decoration-thickness:2px}}

#communication-dock{position:sticky;bottom:12px;z-index:5;max-width:1150px;margin:0 auto 24px;display:flex;flex-direction:column;gap:8px}#communication-dock:has(#text-chat[hidden]):has(#voice-dock[hidden]){display:none}#communication-dock #voice-dock{position:static;margin:0;max-width:none;width:100%}#text-chat{background:#fffefa;border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 30px #0002;overflow:hidden}#text-chat[hidden],#chat-panel[hidden]{display:none}.chat-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 20px;border:0;background:transparent;color:var(--ink);text-align:left;font-size:13px}.chat-toggle-status{font-size:11px;color:#656854}.chat-toggle:hover{background:#f1f2e6}#chat-panel{padding:0 20px 14px}#chat-messages{max-height:230px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.chat-message{max-width:85%;align-self:flex-start;background:var(--bg);border:1px solid var(--line);padding:10px 13px;border-radius:12px;min-width:150px}.chat-message.chat-mine{align-self:flex-end;background:#edf1d9;border-color:#d3dbac}.chat-message-meta{display:flex;justify-content:space-between;align-items:baseline;gap:20px;font-size:10px;color:#666955}.chat-message-meta strong{overflow-wrap:anywhere}.chat-message-meta time{font-variant-numeric:tabular-nums;white-space:nowrap}.chat-message p{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5}.chat-empty{font-size:12px;color:var(--muted);margin:10px 0}#chat-form{display:flex;gap:8px;margin-top:10px}#chat-input{min-width:0;flex:1;padding:11px;font-size:13px}#chat-form button{flex-shrink:0}#chat-error{margin:8px 0 0;min-height:0}#chat-error:empty{display:none}@media(max-width:650px){#communication-dock{margin:0 5% 18px;bottom:8px}.chat-toggle{padding:13px 14px}#chat-panel{padding:0 14px 12px}#chat-messages{max-height:180px}.chat-message{max-width:95%}#chat-form .btn{padding:8px}#communication-dock #voice-dock{margin:0}}

/* Whole words stay together; JavaScript fits long names to each card's width. */
.card-face > strong{max-width:100%;word-break:normal;overflow-wrap:break-word;hyphens:manual}
.duel{grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr)}
@media(max-width:650px){.duel{grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr)}}
/* Matching collapsed communication bars; microphone note stays inline. */
.chat-toggle{min-height:54px;padding:11px 20px}.chat-toggle>span:first-child{display:flex;align-items:center;gap:9px}#communication-dock #voice-dock{min-height:56px;padding:11px 20px}.voice-title{flex:1;min-width:0;column-gap:9px;row-gap:5px}.voice-title .voice-note{width:auto;flex:0 1 auto;margin:0;font-size:11px;line-height:1.5}.voice-title .voice-note:before{content:'·';margin-right:9px;color:#aaa99b}.voice-controls{align-items:center}@media(max-width:650px){.chat-toggle{padding:11px 14px}#communication-dock #voice-dock{padding:11px 14px}.voice-title .voice-note{font-size:10px}.voice-controls{width:auto}}

/* Weekly community tournament, alongside the private-room form. */
.hero-grid:has(.community-home){grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:36px;align-items:start}.community-home{min-width:0;position:sticky;top:24px}.community-home h1{font-size:clamp(34px,4vw,52px);letter-spacing:-2px;margin-bottom:18px}.community-home>.eyebrow{margin-bottom:16px}.community-home>p{font-size:14px;line-height:1.6;margin:0 0 25px;max-width:470px}.community-card{background:#fffdf7;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 8px 30px #24251f05}.community-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.community-heading .eyebrow{font-size:9px;letter-spacing:1.3px;margin:0}.community-live{display:flex;align-items:center;gap:6px;font-size:8px;font-weight:bold;letter-spacing:.7px}.community-theme{display:flex;align-items:center;gap:12px;margin:21px 0}.community-theme .theme-symbol{width:40px;height:40px;flex-shrink:0;background:var(--purple)}.community-theme .theme-icon{width:24px;height:24px}.community-theme h2{font-size:20px;letter-spacing:-.5px;line-height:1.3;margin:0}.community-theme p{font-size:11px;color:var(--muted);margin:5px 0 0;line-height:1.4}.community-phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:20px}.community-phases>span{text-align:center;font-size:9px;font-weight:bold;background:var(--bg);padding:9px 3px;border-radius:7px;color:var(--muted);border:1px solid var(--line)}.community-phases>span.active{background:var(--lime);color:var(--ink);border-color:#a6b751}.community-phases>span.done{background:#e4e8d3;color:#617132}.community-phase-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px;flex-wrap:wrap;font-size:11px}.community-phase-heading>span{font-size:10px;color:var(--muted)}.community-duel{gap:7px;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}.community-duel .choice.playing-card{min-height:230px;padding:18px 14px 65px;border-radius:13px}.community-duel .choice.playing-card strong{font-size:23px;letter-spacing:-.5px}.community-duel .choice.playing-card .label{font-size:7px;letter-spacing:.6px;min-height:24px;margin-right:28px}.community-duel .card-faces{min-height:110px}.community-duel .card-theme-mark{top:17px;right:17px}.community-duel .theme-icon{width:25px;height:25px}.community-duel .choice.playing-card .card-brand{bottom:18px;left:20px}.community-duel .card-brand img{width:25px;height:32px}.community-duel .versus{font-size:10px}.community-duel .choice:disabled{opacity:1}.community-duel .picked{background:#eaf0d5}.community-feedback{font-size:11px!important;line-height:1.5!important;text-align:center;min-height:33px;margin:15px 0 10px!important;max-width:none!important;color:#5b653f!important}.community-navigation{display:flex;gap:10px;align-items:center;justify-content:space-between}.community-navigation>span{font-size:11px;font-weight:bold;text-align:center}.community-navigation small{display:block;font-size:9px;color:var(--muted);font-weight:normal;margin-top:4px}.community-footer{margin-top:20px;padding-top:17px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}.community-board-link{padding:0;background:none;border:0;color:var(--ink);font-size:11px;font-weight:bold;text-decoration:underline;text-underline-offset:4px}.community-footer>span{font-size:10px;color:var(--muted)}.community-rules{font-size:10px!important;line-height:1.5!important;color:var(--muted)!important;margin:12px 0 0!important;max-width:none!important}.community-last-winner{margin-top:18px;background:var(--purple);border-radius:10px;padding:12px;font-size:11px;line-height:1.5}.community-last-winner span{display:block;font-size:9px;color:#615473}.community-board{border:1px solid var(--line);border-radius:20px;background:#fffdf7;color:var(--ink);width:min(1000px,94vw);max-height:90vh;padding:25px}.community-board::backdrop{background:#24251f70;backdrop-filter:blur(3px)}.community-board h2{font-size:21px;margin:0}.community-board .eyebrow{font-size:9px;margin-bottom:8px}.community-bracket{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:15px;overflow-x:auto;padding-bottom:12px}.community-bracket h3{font-size:12px;margin:10px 0 5px}.community-bracket .hint{font-size:10px;margin:0 0 15px}.community-bracket-match{border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:10px;margin-bottom:12px;font-size:11px;line-height:1.5}.community-bracket-match>div{display:flex;justify-content:space-between;gap:8px;padding:6px 0}.community-bracket-match>div+div{border-top:1px solid var(--line)}.community-bracket-match span{overflow-wrap:anywhere}.community-bracket-match b{flex-shrink:0}.community-bracket-match .qualified{color:#53642b;font-weight:bold}.community-bracket-match small{display:block;margin-top:7px;color:var(--muted);font-size:9px}.community-bracket-match.pending{color:var(--muted);border-style:dashed}
@media(max-width:950px){.hero-grid:has(.community-home){grid-template-columns:1fr;gap:30px}.community-home{position:static}.community-home>p{max-width:none}.community-home h1{font-size:44px}.community-card{max-width:650px}.community-duel .choice.playing-card{min-height:245px}}
@media(max-width:650px){.community-home h1{font-size:36px;letter-spacing:-1.5px}.community-card{padding:16px}.community-theme h2{font-size:18px}.community-heading{gap:9px}.community-duel .choice.playing-card{min-height:215px;padding:17px 11px 60px}.community-duel .choice.playing-card strong{font-size:21px}.community-duel .card-theme-mark{right:14px}.community-duel .theme-icon{width:22px;height:22px}.community-duel .choice.playing-card .label{margin-right:24px;font-size:6px}.community-phases>span{font-size:8px}.community-navigation .btn{padding:9px 10px}.community-board{padding:17px}.community-board .section-heading{align-items:flex-start}.community-board h2{font-size:17px}}

.hero-grid>.community-home{padding-top:0;position:static;top:auto}.community-home h1{font-size:clamp(34px,3.4vw,43px)}.community-duel .choice.playing-card{min-height:200px}.community-theme{margin:18px 0}.community-phases{margin-bottom:16px}

/* Language changes are local to this browser, including while a room is live. */
.language-switch{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line,#d8d9cc);border-radius:999px;flex-shrink:0;background:var(--paper,#fffefa)}
.language-switch button{border:0;border-radius:999px;background:transparent;padding:6px 9px;font-family:inherit;font-weight:700;font-size:12px;cursor:pointer;color:inherit}
.language-switch button[aria-pressed="true"]{background:var(--ink,#292b25);color:var(--paper,#fffefa)}
.language-switch button:focus-visible{outline:2px solid #798646;outline-offset:2px}
html[lang="en"] .community-home h1{font-size:clamp(40px,4.5vw,65px)}
@media(max-width:600px){.header-right{gap:8px}.language-switch button{padding:6px 8px}}
@media(max-width:650px){.community-duel .choice.playing-card .label{max-width:calc(100% - 28px);line-height:1.5}}
@media(max-width:450px){.header-right .version{display:none}}
.community-last-winner strong [data-card-pack]{display:inline;font-size:inherit;color:inherit}

/* Secret nominations share the room palette and remain comfortable on mobile. */
.secret-panel h2{margin-top:12px}.secret-results{margin:12px 0;max-height:360px;overflow-y:auto;overscroll-behavior:contain}.secret-result{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:16px;margin-bottom:8px;border:1px solid var(--line,#ddd);border-radius:16px;background:var(--paper,#fffdf7);color:inherit;text-align:left;font:inherit;cursor:pointer}.secret-result:hover,.secret-result:focus-visible{background:#f1f5d9;border-color:#899942}.secret-result strong{min-width:0;overflow-wrap:anywhere}.secret-result span:last-child{flex-shrink:0;font-size:13px}.secret-panel .section-heading{flex-wrap:wrap}.secret-panel input{width:100%;min-width:0}

/* Compact favourites grid: scan more choices without changing the duel cards. */
@media(max-width:650px){
  .cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .cards-grid .mini-card.playing-card{min-width:0;min-height:116px;padding:34px 8px 30px;border-radius:11px}
  .cards-grid .mini-card.playing-card.selected{padding:33px 7px 29px}
  .cards-grid .mini-card.playing-card .card-face strong{font-size:12px;line-height:1.3}
  .cards-grid .mini-card.playing-card .card-theme-mark{top:10px;right:10px}
  .cards-grid .mini-card.playing-card .theme-icon{width:20px;height:20px}
  .cards-grid .mini-card.playing-card .card-brand{bottom:9px;left:11px}
  .cards-grid .mini-card.playing-card .card-brand img{width:15px;height:19px}
  .cards-grid .mini-card.playing-card.selected:after{top:9px;left:10px;font-size:12px}
}

.external-search{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.external-search h3{font-size:13px;margin:0}.external-search>.btn{margin-top:12px}.external-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.external-copy small{font-size:11px;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.external-result{align-items:center}.external-result>.external-copy{flex-shrink:1}.external-copy>strong{font-size:13px}

/* Keep the current theme beside the action, on every match and reveal. */
.match-theme{display:flex;align-items:center;gap:13px;padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--line);min-width:0}
.match-theme-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:46px;height:46px;background:#edf1d9;border-radius:13px;color:#65733e}
.match-theme-icon .theme-icon{width:28px;height:28px}
.panel .match-theme h2{margin:0;font-size:28px;line-height:1.2;font-weight:800;letter-spacing:-.6px;overflow-wrap:anywhere;min-width:0}
@media(max-width:650px){.match-theme{gap:10px;padding-bottom:14px;margin-bottom:16px}.match-theme-icon{width:38px;height:38px;border-radius:11px}.match-theme-icon .theme-icon{width:24px;height:24px}.panel .match-theme h2{font-size:23px;line-height:1.25}}

.search-match-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.search-match-copy small{font-size:10px;color:var(--muted)}

/* Browse available themes by family, keeping one visible selection. */
.theme-families{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.theme-family{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:var(--bg);color:var(--ink);font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.theme-family .theme-icon{width:19px;height:19px}
.theme-family[aria-pressed="true"]{background:var(--purple);border-color:#8d7caa;box-shadow:inset 0 0 0 1px #8d7caa}
.theme-family:hover{border-color:#8d7caa}
.theme-family:focus-visible{outline:3px solid #746198;outline-offset:3px}
.theme-card[hidden]{display:none}
@media(max-width:650px){.theme-families{gap:7px}.theme-family{padding:10px;font-size:11px}.theme-family .theme-icon{width:17px;height:17px}}

/* Keep the latest written message visible in the collapsed communication bar. */
.chat-toggle-main{flex:1;min-width:0}.chat-toggle-title{display:flex;align-items:center;gap:9px;flex-shrink:0}.chat-toggle-status{flex-shrink:0}.chat-preview{display:flex;align-items:baseline;gap:6px;min-width:0;flex:1;color:var(--muted);font-size:12px}.chat-preview[hidden]{display:none}.chat-preview>strong{max-width:30%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.chat-preview>strong:after{content:':'} .chat-preview>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
@media(max-width:650px){.chat-toggle>.chat-toggle-main{flex-direction:column;align-items:stretch;gap:3px}.chat-preview{font-size:11px;flex:auto}.chat-toggle-title{font-size:12px}.chat-toggle-status{font-size:10px}}

/* Character names and their origin occupy separate, independently fitted lines. */
.card-face>strong[data-card-layout]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-width:0}
.card-face>strong>[data-card-line]{display:block;width:100%;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;text-align:center}
.card-face>strong>.card-origin-line{font-size:.76em;font-weight:500;letter-spacing:0;line-height:1.25}
@media(max-width:650px){.card-face>strong[data-card-layout]{gap:3px}}

/* Mashup: every individual card keeps its source theme, including duos. */
.mixed-card-face{flex-direction:column;gap:10px}.mixed-card-theme{display:flex;justify-content:flex-end;align-items:center;gap:6px;width:100%;min-width:0;color:#777a68;font-size:10px;font-weight:600;line-height:1.3;text-align:right;letter-spacing:0}.mixed-card-theme>span{max-width:190px;overflow-wrap:normal}.mixed-card-theme .theme-icon{width:17px;height:17px;flex-shrink:0}.mini-card .mixed-card-theme{font-size:8px;min-height:24px}.mini-card .mixed-card-theme>span{max-width:100%}.mini-card.playing-card:has(.mixed-card-face){padding-top:23px;min-height:150px}.mini-card .mixed-card-face{gap:14px}.mini-card .mixed-card-theme .theme-icon{width:14px;height:14px}.choice .mixed-card-face{padding:8px 0}.secret-result .mixed-card-theme{justify-content:flex-start;margin-bottom:5px;font-size:10px}
@media(max-width:650px){.mini-card .mixed-card-theme{font-size:7.5px;gap:3px}.mini-card .mixed-card-theme .theme-icon{width:12px;height:12px}.mini-card.playing-card:has(.mixed-card-face){min-height:142px;padding-top:23px}.choice .mixed-card-theme{font-size:9px}.choice .mixed-card-theme>span{max-width:120px}}
.mixed-card-theme>span{min-width:0;white-space:normal;overflow-wrap:normal;flex:0 1 auto}.cards-grid .mini-card.playing-card .mixed-card-theme .theme-icon{width:14px;height:14px}
@media(max-width:650px){.cards-grid .mini-card.playing-card .mixed-card-theme .theme-icon{width:12px;height:12px}.cards-grid .mini-card.playing-card .mixed-card-theme{gap:3px}.cards-grid .mini-card.playing-card .mixed-card-theme>span{max-width:calc(100% - 15px)}}
.choice.playing-card:not(.choice-duo) .mixed-card-theme{position:absolute;top:24px;right:24px;width:calc(100% - 48px)}.choice.playing-card .mixed-card-theme .theme-icon{width:20px;height:20px}.cards-grid .mini-card.playing-card .mixed-card-theme{position:absolute;top:15px;right:14px;width:calc(100% - 28px)}.cards-grid .mini-card.playing-card:has(.mixed-card-face){padding-top:47px}.cards-grid .mini-card.playing-card.selected:has(.mixed-card-face){padding-top:46px}
@media(max-width:650px){.choice.playing-card:not(.choice-duo) .mixed-card-theme{top:19px;right:15px;width:calc(100% - 30px)}.choice.playing-card .mixed-card-theme .theme-icon{width:16px;height:16px}.cards-grid .mini-card.playing-card .mixed-card-theme{top:12px;right:11px;width:calc(100% - 22px)}}

/* Beverage brand above its flavour/recipe, with up to two readable detail lines. */
.card-face>strong>.card-detail-line{font-size:.76em;font-weight:500;letter-spacing:0;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;word-break:normal;text-wrap:balance}

.recap-score-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 18px}.recap-score-split>span{background:var(--bg,#f4f3eb);border-radius:12px;padding:12px 8px;text-align:center;min-width:0}.recap-score-split b{display:block;font-size:24px}.recap-score-split span span{font-size:12px;color:var(--muted)}

.secret-favorites{display:grid;gap:8px;margin:16px 0}.secret-favorite{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid var(--line,#dedfd2);border-radius:14px;background:#f0f1e6}.secret-favorite strong{min-width:0;overflow-wrap:anywhere}.surprise-panel .secret-results{max-height:310px;overflow:auto;margin:8px 0 18px;border-radius:14px}.surprise-panel .secret-result{width:100%}

/* DIL’M tactile GUI — palette and depth are kept together for quick colour trials. */
:root{
  --gui-paper:#fffdf7;
  --gui-edge:#b9b7aa;
  --gui-base:#cecbbe;
  --gui-lime-top:#e9f79f;
  --gui-lime:#dbef76;
  --gui-lime-edge:#8c9e43;
  --gui-lime-base:#a6b857;
  --gui-lilac-top:#eee6fa;
  --gui-lilac:#d7cbf0;
  --gui-lilac-edge:#9a88b5;
  --gui-lilac-base:#b09ecb;
  --gui-rose-top:#faeeee;
  --gui-rose:#efd9db;
  --gui-rose-edge:#b68991;
  --gui-rose-base:#cba0a7;
  --gui-depth:4px;
}
.panel,.community-card{
  background:var(--gui-paper);
  border-color:#d5d1c4;
  box-shadow:0 4px 0 #e4dfd2,0 12px 26px #51473908,inset 0 1px 0 #fff;
}
.btn,.theme-family,.tab,.choice-chip>span,.theme-card,.secret-result{
  --control-top:var(--gui-paper);
  --control-fill:#f2eee4;
  --control-edge:var(--gui-edge);
  --control-base:var(--gui-base);
  --control-depth:var(--gui-depth);
  background:linear-gradient(180deg,var(--control-top),var(--control-fill));
  border:1px solid var(--control-edge);
  border-radius:13px;
  color:var(--ink);
  box-shadow:0 var(--control-depth) 0 var(--control-base),inset 0 2px 0 #ffffffb3,0 7px 10px #41394708;
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;
  -webkit-tap-highlight-color:transparent;
}
.btn{min-height:44px;text-decoration:none;font-weight:800;margin-bottom:4px}
.btn.primary{
  --control-top:var(--gui-lime-top);--control-fill:var(--gui-lime);
  --control-edge:var(--gui-lime-edge);--control-base:var(--gui-lime-base);
}
.btn.secondary{--control-top:#fffdf8;--control-fill:#f3efe5}
.btn.danger{
  --control-top:var(--gui-rose-top);--control-fill:var(--gui-rose);
  --control-edge:var(--gui-rose-edge);--control-base:var(--gui-rose-base);color:#703e48;
}
.btn.primary,.btn.secondary,.btn.danger{
  background:linear-gradient(180deg,var(--control-top),var(--control-fill));
  border-color:var(--control-edge);
}
.btn:disabled,.secret-result:disabled{
  opacity:1;color:#929184;
  background:#e9e6dc;border-color:#d7d2c5;
  box-shadow:0 2px 0 #d7d2c5,inset 0 1px 0 #ffffff80;
  transform:none;
}
.tabs{gap:10px;border:0;padding-bottom:5px}
.tab{flex:1;padding:12px 10px;font-weight:800;font-size:13px;min-height:44px}
.tab.active,.theme-family[aria-pressed="true"],.choice-chip:has(input:checked)>span{
  --control-top:var(--gui-lilac-top);--control-fill:var(--gui-lilac);
  --control-edge:var(--gui-lilac-edge);--control-base:var(--gui-lilac-base);
  --control-depth:2px;
  background:linear-gradient(180deg,var(--control-top),var(--control-fill));
  transform:translateY(2px);
  box-shadow:0 2px 0 var(--control-base),inset 0 2px 3px #77628e18;
  border:1px solid var(--control-edge);
}
.chip-row{gap:10px;padding-bottom:5px}
.choice-chip>span{min-height:44px;padding:11px 15px;font-weight:800}
.theme-families{gap:10px;margin-bottom:20px}
.theme-family{min-height:44px;margin-bottom:4px}
.theme-grid{gap:14px 10px;padding-bottom:5px}
.theme-card{margin-bottom:2px}
.theme-card:has(input:checked){
  --control-top:var(--gui-lime-top);--control-fill:var(--gui-lime);
  --control-edge:var(--gui-lime-edge);--control-base:var(--gui-lime-base);
  background:linear-gradient(180deg,var(--control-top),var(--control-fill));
  border:1px solid var(--control-edge);
  transform:translateY(2px);
  box-shadow:0 2px 0 var(--control-base),inset 0 2px 3px #788c341a;
}
.theme-card .theme-symbol{border:1px solid #d2cec3;box-shadow:inset 0 1px 0 #fff9;background:#f7f4ec}
.theme-card:has(input:checked) .theme-symbol{background:#f2f8d2;border-color:#bacb79;color:#53632c}
.theme-check{color:#53632c}
.secret-result{margin-bottom:12px;min-height:48px}
.secret-result:hover,.secret-result:focus-visible{border-color:var(--gui-lime-edge)}
input:not([type=radio]):not([type=checkbox]),textarea,select{
  background:#f7f4ed;border-color:#d4cec0;box-shadow:inset 0 2px 3px #6155420a,0 1px 0 #fff;
}
input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--gui-lilac);outline-offset:2px;border-color:var(--gui-lilac-edge);
}
.btn:focus-visible,.theme-family:focus-visible,.tab:focus-visible,.secret-result:focus-visible,
.choice-chip:has(input:focus-visible)>span,.theme-card:has(input:focus-visible){
  outline:3px solid #82709f;outline-offset:5px;
}
#text-chat,#communication-dock #voice-dock{
  border-color:#d5d1c4;
  box-shadow:0 3px 0 #dcd6c8,0 10px 28px #41394712,inset 0 1px 0 #fff;
}
.language-switch{background:#ebe6dc;border-color:#d2ccbe;box-shadow:inset 0 2px 3px #51473912}
.language-switch button[aria-pressed="true"]{
  background:linear-gradient(180deg,#f3ebfc,var(--gui-lilac));color:#43384f;
  box-shadow:0 2px 0 var(--gui-lilac-base),inset 0 1px 0 #fff9;
}
.step-number{background:var(--gui-lilac-top);border-color:#c4b3db;box-shadow:0 2px 0 #d1c2e1}
@media(hover:hover){
  .btn:not(:disabled):hover,.theme-family:not([aria-pressed="true"]):hover,.tab:not(.active):hover,
  .choice-chip:not(:has(input:checked)):hover>span,.theme-card:not(:has(input:checked)):hover,.secret-result:not(:disabled):hover{
    transform:translateY(-1px);
    box-shadow:0 calc(var(--control-depth) + 1px) 0 var(--control-base),inset 0 2px 0 #ffffffb3,0 9px 14px #41394710;
  }
}
.btn:not(:disabled):active,.theme-family:active,.tab:active,
.choice-chip:active>span,.theme-card:active,.secret-result:not(:disabled):active{
  transform:translateY(4px);
  box-shadow:0 0 0 var(--control-base),inset 0 2px 4px #51473914;
}
@media(max-width:650px){
  .btn{border-radius:12px}
  .theme-family{padding:10px}
  .theme-grid{gap:13px 9px}
}
@media(prefers-reduced-motion:reduce){
  .btn,.theme-family,.tab,.choice-chip>span,.theme-card,.secret-result{transition:none}
}

/* Duel cards use the same tactile material as the controls, at a larger depth. */
:root{--gui-card-top:#faf9f1;--gui-card-fill:#eeeee4;--gui-card-edge:#b9bbaa;--gui-card-base:#c4c5b4}
.choice.playing-card,.choice.playing-card:nth-child(3),.choice.playing-card.winner{
  --card-top:var(--gui-card-top);--card-fill:var(--gui-card-fill);
  --card-edge:var(--gui-card-edge);--card-base:var(--gui-card-base);
  --card-depth:6px;
  background:linear-gradient(180deg,var(--card-top),var(--card-fill));
  border-color:var(--card-edge);
  box-shadow:0 var(--card-depth) 0 var(--card-base),inset 0 2px 0 #ffffffe6,0 12px 18px #5147390c;
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;
  margin-bottom:6px;
}
.choice.playing-card::before{
  border-color:#c8c9b9;
  box-shadow:inset 0 1px 0 #ffffffb3,0 1px 0 #ffffff80;
}
.choice.playing-card.picked{
  --card-top:#f5f8e8;--card-fill:#e8edda;--card-edge:#8d9b65;--card-base:#a5b27b;
  --card-depth:2px;
  transform:translateY(4px);
  box-shadow:0 var(--card-depth) 0 var(--card-base),inset 0 2px 4px #6a784214;
}
.choice.playing-card.winner{
  --card-top:var(--gui-lime-top);--card-fill:#e4f0b6;
  --card-edge:var(--gui-lime-edge);--card-base:var(--gui-lime-base);
}
.choice.playing-card:focus-visible{outline:3px solid #82709f;outline-offset:5px}
@media(hover:hover){
  .choice.playing-card:not(:disabled):not(.picked):hover{
    transform:translateY(-2px);
    box-shadow:0 8px 0 var(--card-base),inset 0 2px 0 #ffffffe6,0 15px 22px #51473914;
  }
}
.choice.playing-card:not(:disabled):active{
  transform:translateY(6px);
  box-shadow:0 0 0 var(--card-base),inset 0 2px 5px #51473916;
}
@media(prefers-reduced-motion:reduce){.choice.playing-card{transition:none}}


/* Light and night appearance, shared across home and private rooms. */
.palette-toggle{display:inline-flex;font-size:11px;padding:9px 12px;min-height:36px;letter-spacing:0}
.palette-dialog{width:min(680px,calc(100% - 28px));max-height:85dvh;overflow:auto;padding:26px;border:1px solid var(--gui-edge);border-radius:22px;background:var(--gui-paper);color:var(--ink);box-shadow:0 6px 0 var(--gui-base),0 24px 80px #24251f30}
.palette-dialog::backdrop{background:#24251f60;backdrop-filter:blur(4px)}
.palette-dialog h2{font-size:25px;margin:0 0 8px}
.palette-dialog .eyebrow{font-size:10px;margin-bottom:8px}
.palette-dialog .section-heading{align-items:flex-start}
.palette-dialog>.sub{margin-top:14px}
.palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.palette-option{min-width:0;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--bg);color:var(--ink);text-align:left;box-shadow:0 3px 0 var(--gui-base);font-size:12px}
.palette-option[aria-pressed="true"]{outline:3px solid var(--gui-lilac-edge);outline-offset:1px;transform:translateY(1px)}
.palette-option:focus-visible{outline:3px solid #82709f;outline-offset:4px}
.palette-swatches{display:flex;gap:0;border:1px solid #24251f20;border-radius:7px;overflow:hidden;height:32px;margin-bottom:10px}
.palette-swatches i{width:25%;background:var(--bg)}
.palette-swatches i:nth-child(2){background:var(--gui-paper)}
.palette-swatches i:nth-child(3){background:var(--lime)}
.palette-swatches i:nth-child(4){background:var(--purple)}
@media(max-width:650px){.palette-dialog{padding:20px}.palette-dialog h2{font-size:21px}.palette-dialog .btn{padding:9px 12px}.header-right{flex-wrap:wrap;justify-content:flex-end;max-width:65%}.palette-toggle{padding:8px 10px}.palette-grid{gap:12px}.palette-option{padding:10px;font-size:11px}}

:root:not([data-palette="original"])[data-palette] .panel,
:root:not([data-palette="original"])[data-palette] .community-card,
:root:not([data-palette="original"])[data-palette] #text-chat,
:root:not([data-palette="original"])[data-palette] #communication-dock #voice-dock{
 background:var(--gui-paper);border-color:var(--line);
 box-shadow:0 4px 0 color-mix(in srgb,var(--bg),#595348 12%),0 12px 26px #51473908,inset 0 1px 0 #fff;
}
:root:not([data-palette="original"])[data-palette] .btn.secondary{--control-top:var(--gui-paper);--control-fill:var(--bg)}
:root:not([data-palette="original"])[data-palette] .btn.danger{--control-top:var(--gui-rose-top);--control-fill:var(--gui-rose)}
:root:not([data-palette="original"])[data-palette] input:not([type=radio]):not([type=checkbox]),
:root:not([data-palette="original"])[data-palette] textarea{background:var(--bg);border-color:var(--line)}
:root:not([data-palette="original"])[data-palette] .choice.playing-card.picked{--card-top:var(--gui-lime-top);--card-fill:color-mix(in srgb,var(--lime),var(--gui-paper) 65%);--card-base:var(--gui-lime-base);--card-edge:var(--gui-lime-edge)}
:root:not([data-palette="original"])[data-palette] .choice.playing-card.winner{--card-top:var(--gui-lime-top);--card-fill:color-mix(in srgb,var(--lime),var(--gui-paper) 25%)}
:root:not([data-palette="original"])[data-palette] .mini-card.playing-card{background:var(--gui-card-fill);border-color:var(--gui-card-edge)}
:root:not([data-palette="original"])[data-palette] .notice,
:root:not([data-palette="original"])[data-palette] .secret-favorite{background:color-mix(in srgb,var(--lime),var(--gui-paper) 80%)}

/* Logo night: deeper violet layers derived from the logo. */
:root[data-palette="logo-nuit"][data-palette],[data-palette-preview="logo-nuit"]{
  color-scheme:dark;
  --bg:#1c1a2b;--ink:#eee8f2;--muted:#c2c1d1;
  --lime:#7654a2;--purple:#eee8f2;
  --gui-paper:#302b43;--line:#5e5378;
  --gui-edge:#77658f;--gui-base:#12101e;
  --gui-lime:var(--lime);--gui-lime-top:#8a62b0;--gui-lime-edge:#493263;--gui-lime-base:#493263;
  --gui-lilac:var(--purple);--gui-lilac-top:#faf6fc;--gui-lilac-edge:#b3a8c1;--gui-lilac-base:#b3a8c1;
  --gui-card-top:#514566;--gui-card-fill:#302b43;--gui-card-edge:#7a6994;--gui-card-base:#12101e;
  --gui-rose-top:#8a62b0;--gui-rose:#7654a2;--gui-rose-edge:#493263;--gui-rose-base:#493263;
}
.palette-option:not([data-palette-preview="logo-nuit"]){color:#24251f}
:root[data-palette="logo-nuit"][data-palette] .hero p,
:root[data-palette="logo-nuit"][data-palette] .theme-category,
:root[data-palette="logo-nuit"][data-palette] .theme-count,
:root[data-palette="logo-nuit"][data-palette] .community-phase-heading>span,
:root[data-palette="logo-nuit"][data-palette] .community-navigation small,
:root[data-palette="logo-nuit"][data-palette] .chat-toggle-status,
:root[data-palette="logo-nuit"][data-palette] .chat-message-meta,
:root[data-palette="logo-nuit"][data-palette] .card-status,
:root[data-palette="logo-nuit"][data-palette] .mixed-card-theme,
:root[data-palette="logo-nuit"][data-palette] .card-theme-mark{color:var(--muted)}
:root[data-palette="logo-nuit"][data-palette] .hero h1 em,
:root[data-palette="logo-nuit"][data-palette] .btn.primary,
:root[data-palette="logo-nuit"][data-palette] .btn.danger,
:root[data-palette="logo-nuit"][data-palette] .tab.active,
:root[data-palette="logo-nuit"][data-palette] .theme-family[aria-pressed="true"],
:root[data-palette="logo-nuit"][data-palette] .choice-chip:has(input:checked)>span,
:root[data-palette="logo-nuit"][data-palette] .theme-card:has(input:checked),
:root[data-palette="logo-nuit"][data-palette] .score-big,
:root[data-palette="logo-nuit"][data-palette] .avatar,
:root[data-palette="logo-nuit"][data-palette] .recap-rank,
:root[data-palette="logo-nuit"][data-palette] .step-number,
:root[data-palette="logo-nuit"][data-palette] .community-phases>span.active{color:#1c1a2b}
:root[data-palette="logo-nuit"][data-palette] .theme-card:has(input:checked) .theme-count,
:root[data-palette="logo-nuit"][data-palette] .theme-card:has(input:checked) .theme-category,
:root[data-palette="logo-nuit"][data-palette] .theme-card:has(input:checked) .theme-check{color:#e4d5f5}
:root[data-palette="logo-nuit"][data-palette] .theme-card:has(input:checked) .theme-symbol,
:root[data-palette="logo-nuit"][data-palette] .community-theme .theme-symbol,
:root[data-palette="logo-nuit"][data-palette] .match-theme-icon{background:#eee8f2;color:#4d526b;border-color:#b3a8c1}
:root[data-palette="logo-nuit"][data-palette] .theme-card:not(:has(input:checked)) .theme-symbol{
 background:#48405f;color:#eee8f2;border-color:#7a6994;
}
:root[data-palette="logo-nuit"][data-palette] .btn:disabled,
:root[data-palette="logo-nuit"][data-palette] .secret-result:disabled{
 background:#42495b;border-color:#5e5378;color:#a3a7b8;
 box-shadow:0 2px 0 #12101e,inset 0 1px 0 #ffffff12;
}
:root[data-palette="logo-nuit"][data-palette] .btn.secondary,
:root[data-palette="logo-nuit"][data-palette] .theme-family:not([aria-pressed="true"]),
:root[data-palette="logo-nuit"][data-palette] .tab:not(.active),
:root[data-palette="logo-nuit"][data-palette] .choice-chip:not(:has(input:checked))>span,
:root[data-palette="logo-nuit"][data-palette] .theme-card:not(:has(input:checked)),
:root[data-palette="logo-nuit"][data-palette] .secret-result{
 --control-top:#48405f;--control-fill:#302b43;
}
:root[data-palette="logo-nuit"][data-palette] .btn.danger{--control-top:#8a62b0;--control-fill:#7654a2}
:root[data-palette="logo-nuit"][data-palette] .secret-result:hover,
:root[data-palette="logo-nuit"][data-palette] .secret-result:focus-visible,
:root[data-palette="logo-nuit"][data-palette] .chat-toggle:hover{background:#48405f}
:root[data-palette="logo-nuit"][data-palette] .panel,
:root[data-palette="logo-nuit"][data-palette] .community-card,
:root[data-palette="logo-nuit"][data-palette] #text-chat,
:root[data-palette="logo-nuit"][data-palette] #communication-dock #voice-dock{
 box-shadow:0 4px 0 #12101e,0 12px 26px #12162220,inset 0 1px 0 #ffffff12;
}
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card::before{border-color:#7a6994;box-shadow:inset 0 1px 0 #ffffff12}
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card.picked{
 --card-top:#514568;--card-fill:#48405f;--card-edge:#7654a2;--card-base:#12101e;outline-color:#7654a2;
}
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card.winner{
 --card-top:#8a62b0;--card-fill:#7654a2;--card-edge:#eee8f2;--card-base:#493263;color:#1c1a2b;outline-color:#eee8f2;
}
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card.winner .card-theme-mark,
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card.winner .mixed-card-theme{color:#e4d5f5}
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card .result{border-color:#7a6994}
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card.winner .label{background:#eee8f2;color:#1c1a2b}
:root[data-palette="logo-nuit"][data-palette] .mini-card.playing-card.selected{border-color:#7654a2;box-shadow:0 0 0 2px #7654a2}
:root[data-palette="logo-nuit"][data-palette] .mini-card.playing-card.selected:after{color:#eee8f2}
:root[data-palette="logo-nuit"][data-palette] .is-favorite strong{text-decoration-color:#7654a2}
:root[data-palette="logo-nuit"][data-palette] .favorite-reminder{background:#eee8f2;color:#1c1a2b;border-color:#7654a2}
:root[data-palette="logo-nuit"][data-palette] .good,
:root[data-palette="logo-nuit"][data-palette] .history-item .won,
:root[data-palette="logo-nuit"][data-palette] .community-bracket-match .qualified{color:#c9afe9}
:root[data-palette="logo-nuit"][data-palette] .error{color:#f3bdc5}
:root[data-palette="logo-nuit"][data-palette] .community-board{background:var(--gui-paper);color:var(--ink)}
:root[data-palette="logo-nuit"][data-palette] .community-phases>span.done{background:#514568;color:#eee8f2}
:root[data-palette="logo-nuit"][data-palette] .community-feedback{color:#c9afe9!important}
:root[data-palette="logo-nuit"][data-palette] .community-rules{color:var(--muted)!important}
:root[data-palette="logo-nuit"][data-palette] .community-last-winner{background:#48405f}
:root[data-palette="logo-nuit"][data-palette] .community-last-winner span{color:var(--muted)}
:root[data-palette="logo-nuit"][data-palette] .chat-message.chat-mine{background:#48405f;border-color:#7a6994}
:root[data-palette="logo-nuit"][data-palette] .recap-leader{background:#48405f;border-color:#7654a2}
:root[data-palette="logo-nuit"][data-palette] .recap-event{background:#514568}
:root[data-palette="logo-nuit"][data-palette] .recap-event small{color:#eee8f2}
:root[data-palette="logo-nuit"][data-palette] .language-switch{background:#1c1a2b;border-color:#5e5378}
:root[data-palette="logo-nuit"][data-palette] .language-switch button[aria-pressed="true"]{color:#1c1a2b}
:root[data-palette="logo-nuit"][data-palette] .logo .logo-wordmark{
 background:linear-gradient(135deg,#8a62b0,#b3beda);background-clip:text;-webkit-background-clip:text;
}

/* Night depth: the page recedes; panels and cards catch a violet light. */
:root[data-palette="logo-nuit"][data-palette] body{
 background:radial-gradient(ellipse at 8% 0%,#47305c66,transparent 55%),var(--bg);
 background-attachment:fixed;
}
:root[data-palette="logo-nuit"][data-palette] .panel,
:root[data-palette="logo-nuit"][data-palette] .community-card,
:root[data-palette="logo-nuit"][data-palette] #text-chat,
:root[data-palette="logo-nuit"][data-palette] #communication-dock #voice-dock{
 background:linear-gradient(155deg,#39314d,var(--gui-paper) 55%,#292439);
 border-color:#625075;
 box-shadow:0 5px 0 #12101e,0 18px 34px #0b081b55,inset 0 1px 0 #c3a4e326;
}
:root[data-palette="logo-nuit"][data-palette] .hero h1 em,
:root[data-palette="logo-nuit"][data-palette] .btn.primary,
:root[data-palette="logo-nuit"][data-palette] .btn.danger,
:root[data-palette="logo-nuit"][data-palette] .theme-card:has(input:checked),
:root[data-palette="logo-nuit"][data-palette] .score-big,
:root[data-palette="logo-nuit"][data-palette] .community-phases>span.active,
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card.winner{color:#faf5ff}
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card.winner .card-theme-mark,
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card.winner .mixed-card-theme{color:#eee8f2}
:root[data-palette="logo-nuit"][data-palette] input::placeholder,
:root[data-palette="logo-nuit"][data-palette] textarea::placeholder{color:#b9afcb}

/* A steady halo identifies selections across the palette experiments. */
:root{--gui-selection-glow:color-mix(in srgb,var(--gui-lilac-edge),transparent 48%);--gui-card-glow:color-mix(in srgb,var(--gui-lime-edge),transparent 42%)}
:root[data-palette][data-palette] :is(
  .tab.active,.theme-family[aria-pressed="true"],.choice-chip:has(input:checked)>span,
  .theme-card:has(input:checked),.btn[aria-pressed="true"]
){
 box-shadow:0 2px 0 var(--control-base,var(--gui-base)),inset 0 1px 0 #ffffff30,
  0 0 0 1px var(--gui-lilac-edge),0 0 15px var(--gui-selection-glow),0 0 28px color-mix(in srgb,var(--gui-selection-glow),transparent 50%);
}
:root[data-palette][data-palette] :is(.mini-card.playing-card.selected,.choice.playing-card.picked,.choice.playing-card.winner){
 box-shadow:0 2px 0 var(--card-base,var(--gui-card-base)),inset 0 1px 0 #ffffff30,
  0 0 0 1px var(--gui-lime-edge),0 0 18px var(--gui-card-glow),0 0 32px color-mix(in srgb,var(--gui-card-glow),transparent 55%);
}
:root[data-palette][data-palette] .language-switch button[aria-pressed="true"]{
 box-shadow:0 2px 0 var(--gui-lilac-base),0 0 10px var(--gui-selection-glow);
}
:root[data-palette="logo-nuit"][data-palette]{
 --gui-selection-glow:#ad79e270;--gui-card-glow:#ad79e280;
}
:root[data-palette="logo-nuit"][data-palette] :is(
 .tab.active,.theme-family[aria-pressed="true"],.choice-chip:has(input:checked)>span,
 .theme-card:has(input:checked),.btn[aria-pressed="true"]
){
 --control-top:#7654a2;--control-fill:#503172;--control-base:#30203f;
 --control-edge:#b18bd5;
 background:linear-gradient(180deg,var(--control-top),var(--control-fill));
 border-color:var(--control-edge);color:#faf5ff;
}
:root[data-palette="logo-nuit"][data-palette] .language-switch button[aria-pressed="true"]{
 background:linear-gradient(180deg,#7654a2,#503172);color:#faf5ff;
}
:root[data-palette="logo-nuit"][data-palette] .theme-card:has(input:checked) :is(.theme-category,.theme-count,.theme-check){color:#f2e7fc}
:root[data-palette="logo-nuit"][data-palette] .community-phases>span.active{border-color:var(--gui-lime-edge)}
:root[data-palette][data-palette] :is(
 .tab.active,.theme-family[aria-pressed="true"],.choice-chip:has(input:checked)>span,
 .theme-card:has(input:checked),.btn[aria-pressed="true"]
):active{
 box-shadow:0 0 0 var(--control-base,var(--gui-base)),inset 0 2px 4px #0002,0 0 18px var(--gui-selection-glow);
}


/* The header symbol and wordmark share a palette-aware gradient. */
.logo{--logo-gradient:linear-gradient(135deg,#b07778,#7385aa)}
.logo .logo-mark{
 background:var(--logo-gradient);
 -webkit-mask:url('/logo-mark.svg') center / contain no-repeat;
 mask:url('/logo-mark.svg') center / contain no-repeat;
}
.logo .logo-wordmark{
 background-image:var(--logo-gradient);
}
:root[data-palette="logo-nuit"][data-palette] .logo{
 --logo-gradient:linear-gradient(135deg,#b58bdc,#faf5ff);
}
:root[data-palette="logo-nuit"][data-palette] .logo .logo-wordmark{
 background-image:var(--logo-gradient);
}

/* Duel identity: matte collection cards, distinct from the raised selection controls.
   Only .choice cards are affected; .mini-card favourites keep their button treatment. */
:root[data-palette][data-palette] .choice.playing-card,
:root[data-palette][data-palette] .choice.playing-card:nth-child(3){
  --duel-surface:var(--gui-paper);
  --duel-highlight:color-mix(in srgb,var(--gui-paper),white 5%);
  --duel-accent:var(--gui-lilac-edge);
  background:linear-gradient(145deg,var(--duel-highlight),var(--duel-surface) 65%);
  border:1px solid var(--gui-card-edge);
  border-radius:18px;
  box-shadow:0 10px 24px #15102012;
  margin-bottom:6px;
  transform:none;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
:root[data-palette][data-palette] .choice.playing-card::before{
  inset:11px;
  border:1px solid color-mix(in srgb,var(--gui-card-edge),transparent 50%);
  border-radius:10px;
  box-shadow:none;
}
:root[data-palette][data-palette] .choice.playing-card::after{
  content:"";position:absolute;left:28px;top:0;width:42px;height:3px;
  background:linear-gradient(90deg,var(--duel-accent),var(--lime));
  border-radius:0 0 3px 3px;pointer-events:none;
}
:root[data-palette][data-palette] .choice.playing-card.picked,
:root[data-palette][data-palette] .choice.playing-card.winner{
  outline:2px solid var(--duel-accent);outline-offset:2px;
  border-color:var(--duel-accent);
  box-shadow:0 10px 28px #15102024,0 0 18px var(--gui-card-glow);
  transform:translateY(-2px);
}
:root[data-palette][data-palette] .choice.playing-card.winner{
  --duel-surface:color-mix(in srgb,var(--gui-paper),var(--lime) 14%);
  --duel-highlight:color-mix(in srgb,var(--gui-paper),var(--lime) 7%);
  --duel-accent:var(--gui-lime-edge);
  color:var(--ink);
}
:root[data-palette][data-palette] .choice.playing-card.winner .card-theme-mark,
:root[data-palette][data-palette] .choice.playing-card.winner .mixed-card-theme{color:var(--muted)}
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card{
  --duel-surface:#252134;--duel-highlight:#393147;--duel-accent:#b18bd5;
  border-color:#6c587f;box-shadow:0 12px 28px #08061055;
}
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card.picked,
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card.winner{
  border-color:var(--duel-accent);box-shadow:0 14px 30px #08061066,0 0 18px #ad79e240;
}
:root[data-palette="logo-nuit"][data-palette] .choice.playing-card.winner{
  --duel-surface:#352443;--duel-highlight:#4a355f;
}
@media(hover:hover){
 :root[data-palette][data-palette] .choice.playing-card:not(:disabled):not(.picked):hover{
  transform:translateY(-3px);border-color:var(--duel-accent);
  box-shadow:0 16px 30px #15102026;
 }
}
:root[data-palette][data-palette] .choice.playing-card:not(:disabled):active{
 transform:scale(.985);box-shadow:0 5px 14px #15102026;
}
@media(max-width:650px){
 :root[data-palette][data-palette] .choice.playing-card{border-radius:15px}
 :root[data-palette][data-palette] .choice.playing-card::before{inset:8px;border-radius:8px}
 :root[data-palette][data-palette] .choice.playing-card::after{left:20px;width:32px}
}
@media(prefers-reduced-motion:reduce){:root[data-palette][data-palette] .choice.playing-card{transition:none}}

/* Portrait cards resting on a small, uneven pile of previous duels. */
.duel:has(>.duel-card-pile){padding:14px 8px 22px;gap:18px;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr)}
.duel-card-pile{position:relative;isolation:isolate;width:100%;max-width:280px;justify-self:center;min-width:0;--card-angle:-2deg;--pile-angle:3deg}
.duel-card-pile.side-1{--card-angle:2.5deg;--pile-angle:-3.5deg;top:5px}
:root[data-palette][data-palette] .duel-card-pile>.choice.playing-card{
 position:relative;z-index:2;width:100%;min-height:330px;aspect-ratio:5/7;margin:0;
 transform:rotate(var(--card-angle));
}
.duel-card-under{position:absolute;inset:0;pointer-events:none;border:1px solid var(--gui-card-edge);border-radius:18px;
 background:var(--gui-paper);box-shadow:0 8px 18px #08061030;transform:translate(3px,7px) rotate(var(--pile-angle));z-index:1}
.duel-card-under.under-1{transform:translate(-4px,11px) rotate(-1deg);z-index:0}
.duel-card-under.under-2{transform:translate(5px,15px) rotate(4deg);z-index:-1}
.duel-card-pile.side-1 .under-1{transform:translate(4px,11px) rotate(1.5deg)}
.duel-card-pile.side-1 .under-2{transform:translate(-5px,15px) rotate(-4deg)}
:root[data-palette][data-palette] .duel-card-pile>.choice.playing-card:is(.picked,.winner){transform:translateY(-2px) rotate(var(--card-angle))}
@media(hover:hover){:root[data-palette][data-palette] .duel-card-pile>.choice.playing-card:not(:disabled):not(.picked):hover{transform:translateY(-5px) rotate(var(--card-angle))}}
:root[data-palette][data-palette] .duel-card-pile>.choice.playing-card:not(:disabled):active{transform:scale(.985) rotate(var(--card-angle))}
.community-duel .duel-card-pile{max-width:205px}
:root[data-palette][data-palette] .community-duel .duel-card-pile>.choice.playing-card{min-height:255px;padding-bottom:60px}
.duel-card-pile.card-arriving>.choice{animation:card-onto-pile .32s ease-out both}
.duel-card-pile.side-1.card-arriving>.choice{animation-delay:.05s}
@keyframes card-onto-pile{from{opacity:.5;transform:translateY(-14px) rotate(calc(var(--card-angle) - 3deg)) scale(1.025)}to{opacity:1;transform:rotate(var(--card-angle))}}
@media(max-width:650px){
 .duel:has(>.duel-card-pile){gap:9px;padding:12px 3px 22px;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)}
 .duel-card-pile{--card-angle:-1.8deg}.duel-card-pile.side-1{--card-angle:2deg}
 :root[data-palette][data-palette] .duel-card-pile>.choice.playing-card{min-height:260px;padding-left:12px;padding-right:12px}
 :root[data-palette][data-palette] .community-duel .duel-card-pile>.choice.playing-card{min-height:220px}
 .duel-card-under{border-radius:15px}
}
@media(prefers-reduced-motion:reduce){.duel-card-pile.card-arriving>.choice{animation:none}}
.duel-card-pile .card-face>strong>[data-card-line]{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;word-break:normal;text-wrap:balance}

/* Hover keeps the tile's palette instead of falling back to the old cream fill. */
.theme-card:not(:has(input:checked)):is(:hover,:focus-within){
 background:linear-gradient(180deg,var(--control-top),var(--control-fill));
}

/* Daylight companion to Logo Night: the same violet ink, on lavender paper. */
:root[data-palette="logo-clair"][data-palette],[data-palette-preview="logo-clair"]{
 color-scheme:light;
 --bg:#f5f2f9;--ink:#30283f;--muted:#70647d;--line:#d8cfe3;
 --lime:#7654a2;--purple:#e5d9f3;--gui-paper:#fffcff;
 --gui-edge:#baaccb;--gui-base:#d5c9e1;
 --gui-lime:#7654a2;--gui-lime-top:#8a62b0;--gui-lime-edge:#634283;--gui-lime-base:#493263;
 --gui-lilac:#e5d9f3;--gui-lilac-top:#f6effc;--gui-lilac-edge:#a58abb;--gui-lilac-base:#bca7cf;
 --gui-card-top:#fffcff;--gui-card-fill:#f0e9f7;--gui-card-edge:#baa7ce;--gui-card-base:#d5c9e1;
 --gui-rose-top:#f8e9f0;--gui-rose:#efd8e6;--gui-rose-edge:#bd91ad;--gui-rose-base:#d5afc6;
 --gui-selection-glow:#9c70cf38;--gui-card-glow:#9c70cf48;
}
:root[data-palette="logo-clair"][data-palette] body{
 background:radial-gradient(ellipse at 8% 0%,#e5d9f399,transparent 55%),var(--bg);background-attachment:fixed;
}
:root[data-palette="logo-clair"][data-palette] .logo{--logo-gradient:linear-gradient(135deg,#9d74bc,#493263)}
:root[data-palette="logo-clair"][data-palette] :is(.panel,.community-card,#text-chat,#communication-dock #voice-dock){
 background:linear-gradient(155deg,#fffcff,var(--gui-paper) 55%,#f1eaf7);
 border-color:var(--line);box-shadow:0 4px 0 #ddd2e8,0 16px 32px #4932630c,inset 0 1px 0 #fff;
}
:root[data-palette="logo-clair"][data-palette] :is(.theme-family,.tab,.choice-chip>span,.theme-card,.secret-result):not(:has(input:checked)):not(.active):not([aria-pressed="true"]){
 --control-top:#fffcff;--control-fill:#eee7f5;
}
:root[data-palette="logo-clair"][data-palette] :is(.btn.primary,.theme-card:has(input:checked),.community-phases>span.active,.hero h1 em,.score-big){color:#faf5ff}
:root[data-palette="logo-clair"][data-palette] .theme-card:has(input:checked) :is(.theme-count,.theme-category,.theme-check){color:#f2e7fc}
:root[data-palette="logo-clair"][data-palette] .theme-card .theme-symbol{background:#e9e0f3;color:#634283;border-color:#c7b5d8}
:root[data-palette="logo-clair"][data-palette] .theme-card:has(input:checked) .theme-symbol{background:#f4edf9;color:#634283}
:root[data-palette="logo-clair"][data-palette] :is(.theme-count,.theme-category,.hero p,.card-theme-mark,.mixed-card-theme){color:var(--muted)}
:root[data-palette="logo-clair"][data-palette] .choice.playing-card{
 --duel-surface:#f4edf9;--duel-highlight:#fffcff;--duel-accent:#9874b7;
 box-shadow:0 12px 28px #49326314;
}
:root[data-palette="logo-clair"][data-palette] .choice.playing-card.winner{--duel-surface:#e5d5f1;--duel-highlight:#f4eafa}
:root[data-palette="logo-clair"][data-palette] .choice.playing-card.winner .label{background:#7654a2;color:#faf5ff}
:root[data-palette="logo-clair"][data-palette] .mini-card.playing-card.selected{border-color:#7654a2;box-shadow:0 0 0 2px #7654a2,0 0 18px var(--gui-card-glow)}
:root[data-palette="logo-clair"][data-palette] :is(.mini-card.playing-card.selected:after,.history-item .won,.good,.community-feedback){color:#634283}
:root[data-palette="logo-clair"][data-palette] .favorite-reminder{background:#e5d9f3;color:#493263;border-color:#9874b7}
:root[data-palette="logo-clair"][data-palette] .is-favorite strong{text-decoration-color:#9874b7}
:root[data-palette="logo-clair"][data-palette] .community-phases>span.active{border-color:#634283}
:root[data-palette="logo-clair"][data-palette] .language-switch{background:#e9e0f3;border-color:#c7b5d8}
.palette-dialog{max-width:500px}
:root[data-palette="logo-clair"][data-palette] .community-phases>span.done{background:#e9e0f3;color:#634283}
:root[data-palette="logo-clair"][data-palette] .community-bracket-match .qualified{color:#634283}
:root[data-palette="logo-clair"][data-palette] :is(.community-last-winner,.recap-leader,.chat-message.chat-mine){background:#eee5f6;border-color:#c7b5d8}
:root[data-palette="logo-clair"][data-palette] :is(.theme-symbol,.community-theme .theme-symbol){background:#e5d9f3;color:#634283}
:root[data-palette="logo-clair"][data-palette] input::placeholder,
:root[data-palette="logo-clair"][data-palette] textarea::placeholder{color:#80738e}

/* Home introduction shares the masthead; the two play panels start together. */
.home-header-intro{display:none;min-width:0}
body:has(.community-home) header{gap:26px}
body:has(.community-home) .home-header-intro{display:block;flex:1}
.home-header-intro .eyebrow{font-size:8px;letter-spacing:1.2px;line-height:1.5;margin:0 0 7px}
.home-header-intro h1{font-size:27px;font-weight:900;letter-spacing:-1px;line-height:1.15;margin:0}
.home-header-intro h1 em{display:inline-block;font-style:normal;background:var(--lime);color:#faf5ff;padding:1px 5px;transform:rotate(-2deg)}
body:has(.community-home) .header-right{flex-shrink:0}
.community-card .community-intro{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 19px;max-width:none}
@media(min-width:951px){body:has(.community-home) main{padding-top:36px}}
@media(min-width:651px) and (max-width:1150px){
 body:has(.community-home) .header-right :is(.brand-tagline,.status-dot,.version){display:none}
 .home-header-intro h1{font-size:25px}
}
@media(max-width:650px){
 body:has(.community-home) header{display:grid;grid-template-columns:auto 1fr;gap:20px 12px;padding-top:20px;padding-bottom:23px}
 body:has(.community-home) .header-right{grid-column:2;grid-row:1;max-width:none;justify-self:end;gap:9px}
 body:has(.community-home) .header-right :is(.brand-tagline,.status-dot,.version){display:none}
 body:has(.community-home) .home-header-intro{grid-column:1 / -1;grid-row:2}
 .home-header-intro .eyebrow{font-size:8px;margin-bottom:8px}
 .home-header-intro h1{font-size:30px}
 body:has(.community-home) main{padding-top:25px}
 .community-card .community-intro{font-size:11px}
}

/* A single headline beside the logo, with the community rendezvous on its panel. */
.home-header-intro h1{font-size:clamp(30px,3vw,43px);letter-spacing:-1.5px}
@media(min-width:651px) and (max-width:1150px){.home-header-intro h1{font-size:clamp(29px,3.5vw,39px)}}
@media(max-width:650px){
 body:has(.community-home) header{grid-template-columns:auto minmax(0,1fr);gap:17px 16px}
 body:has(.community-home) .home-header-intro{grid-row:1;grid-column:2}
 .home-header-intro h1{font-size:clamp(22px,5.8vw,35px);letter-spacing:-.8px;line-height:1.2}
 body:has(.community-home) .header-right{grid-row:2;grid-column:1 / -1;justify-self:end}
 body:has(.community-home) .community-heading .eyebrow{font-size:8px;letter-spacing:.8px;line-height:1.5}
}
.room-grid:has(.match-theme){scroll-margin-top:12px}

/* Compact preparation: actions stay alongside the setup, above the chat dock. */
.room-heading{scroll-margin-top:16px}
.room-grid>div,.room-grid .sidebar{min-width:0}
.room-preparing .sidebar{gap:14px}
.room-preparing .sidebar .panel{padding:18px}
.room-preparing .people-panel .section-heading{align-items:center;gap:9px}
.room-preparing .people-panel .section-heading h2{flex-shrink:0}
.room-preparing [data-configure]{min-height:36px;font-size:10px;padding:8px 10px;margin:0}
.room-preparing .room-roster{max-height:174px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;overscroll-behavior:contain}
.room-preparing .room-roster::-webkit-scrollbar{display:none}
.room-preparing .room-roster:focus-visible{outline:2px solid var(--gui-lilac-edge);outline-offset:3px;border-radius:6px}
.room-preparing .room-roster .players{margin-top:8px}
.room-preparing .room-roster .player{min-height:52px;padding:10px 0}
.room-preparing .sidebar .hint{font-size:10px;line-height:1.5;margin:8px 0}
.room-preparing .sidebar .btn.full{margin-top:12px}
.room-preparing .sidebar .rules{margin-top:12px}
@media(min-width:951px){
 body:has(.room-preparing) main{padding-top:28px;padding-bottom:20px;min-height:0}
 body:has(.room-preparing) .room-heading{margin-bottom:20px;align-items:center}
 body:has(.room-preparing) .room-heading>.eyebrow,
 body:has(.room-preparing) .room-heading>div>.eyebrow{display:none}
 .room-preparing{grid-template-columns:minmax(0,1fr) 290px;gap:22px}
 .room-preparing .secret-panel{padding:24px}
 .room-preparing .secret-panel .match-theme{padding-bottom:15px;margin-bottom:18px}
 .room-preparing .secret-panel .sub{margin-bottom:16px}
 .room-preparing .secret-panel .btn.full{margin-top:18px}
 body:has(.room-preparing) #communication-dock{position:relative;bottom:auto;margin-top:10px;margin-bottom:18px}
}
.room-preparing .room-roster{max-height:164px}
.room-preparing .room-roster .player .btn{min-height:30px;padding:5px 9px;margin:0}
@media(min-width:951px) and (max-height:850px){
 .room-preparing .sidebar{gap:12px}
 .room-preparing .sidebar .panel{padding:16px}
 body:has(.room-preparing) main{padding-bottom:12px}
 body:has(.room-preparing) #communication-dock{margin-top:6px}
}

/* Keep the duel footprint stable when results, voters or timeout text appear. */
@media(min-width:951px){
 .match-panel .duel-feedback{min-height:62px;display:flow-root}
 .match-panel .duel-feedback .notice{margin:8px 0;line-height:1.5}
 .match-panel .duel-bottom{min-height:46px;margin-top:12px}
 .match-panel .duel-card-pile{max-width:calc(var(--match-card-height,330px) * 5 / 7)}
 :root[data-palette][data-palette] .match-panel .duel-card-pile>.choice.playing-card{
  height:var(--match-card-height,330px);min-height:0;aspect-ratio:5/7;padding:28px 16px 48px;
 }
 .match-panel .choice .label{min-height:12px;margin-bottom:8px;flex-shrink:0}
 .match-panel .card-faces{min-height:0;flex:1;gap:4px}
 .match-panel .choice .result{font-size:24px;margin-top:8px;flex-shrink:0}
 .match-panel .choice .result small{margin-top:3px}
 .match-panel .revealed-voters{max-height:48px;overflow-y:auto;scrollbar-width:none;margin-top:7px;flex-shrink:0}
 .match-panel .revealed-voters::-webkit-scrollbar{display:none}
 .match-panel .voter-name{padding:3px 6px;font-size:10px}
 .match-panel .choice .plus{margin:4px;font-size:14px}
}
/* Result replacement must not let browser scroll anchoring shift the duel. */
body:has(.match-panel){overflow-anchor:none}

/* Invitation links lead straight to the join form, before community content. */
#entry-panel{scroll-margin-top:16px}
@media(max-width:950px){
 .hero-grid.invitation-entry > #entry-panel{order:-1}
}

/* Results sit below the cards, in matching columns, without stretching them. */
.duel-results{display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);gap:18px;height:96px;padding:8px 8px 0}
.duel-side-result{min-width:0;text-align:center;overflow-y:auto;scrollbar-width:none;padding:0 4px 6px}
.duel-side-result.side-1{grid-column:3}
.duel-side-result::-webkit-scrollbar{display:none}
.duel-score{display:flex;align-items:baseline;justify-content:center;gap:8px;color:var(--ink)}
.duel-score strong{font-size:22px;line-height:1.3}
.duel-score>span{font-size:11px;color:var(--muted)}
.match-panel .duel-results .revealed-voters{margin-top:7px;gap:4px;max-height:none;overflow:visible}
.match-panel .duel-results .voter-name{max-width:100%;min-width:0;padding:3px 8px;font-size:11px;line-height:1.35;overflow-wrap:anywhere;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.match-panel .duel-results .voter-name[data-self]{border-color:var(--gui-card-edge);font-weight:700}
@media(max-width:950px){
 .duel-results{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:9px;padding-left:3px;padding-right:3px}
 :root[data-palette][data-palette] .duel-card-pile>.choice.playing-card,
 :root[data-palette][data-palette] .community-duel .duel-card-pile>.choice.playing-card{
  height:auto;min-height:0;aspect-ratio:5/7;padding:28px 10px 42px;
 }
 .duel-card-pile .card-faces{min-height:0;flex:1;gap:3px}
 .duel-card-pile .choice .label{min-height:12px;flex-shrink:0;font-size:7px;letter-spacing:.4px;margin-right:24px}
 .duel-card-pile .choice .card-brand{bottom:12px;left:15px}
 .duel-card-pile .choice .card-brand img{width:20px;height:26px}
 .duel-card-pile .choice .card-theme-mark{top:14px;right:14px}
 .duel-card-pile .choice .theme-icon{width:23px;height:23px}
 .duel-card-pile .choice .plus{margin:2px;font-size:13px}
}

@media(min-width:951px) and (max-height:800px){
 .panel.match-panel{padding:20px}
 .match-panel .match-theme{padding-bottom:10px;margin-bottom:10px}
 .match-panel .match-theme-icon{width:36px;height:36px}
 .match-panel .match-theme h2{font-size:22px}
 .match-panel .duel-top{margin-bottom:8px}
 .match-panel .duel:has(>.duel-card-pile){padding-top:8px;padding-bottom:16px}
 .match-panel .duel-results{height:72px;padding-top:4px}
 .match-panel .duel-feedback{min-height:38px}
 .match-panel .duel-feedback .notice{font-size:11px;line-height:1.3;padding:7px;margin:4px 0}
 .match-panel .duel-bottom{margin-top:8px;min-height:36px}
 .match-panel .duel-bottom .btn{padding:10px 15px}
}

/* Keep the chat heading and latest message left-aligned, including iOS. */
#text-chat .chat-toggle{text-align:left;justify-content:space-between}
#text-chat .chat-toggle-main{justify-content:flex-start;text-align:left}
#text-chat .chat-toggle-title,#text-chat .chat-preview{justify-content:flex-start;text-align:left}
#text-chat .chat-toggle-status{margin-left:auto}
.voice-title .hint:empty{display:none}
.voice-title .voice-note:before{content:none}

/* Card status sits on the edge, separately from theme labels and names. */
:root[data-palette][data-palette] .duel-card-pile>.choice.playing-card .label{
 position:absolute;z-index:3;top:-10px;left:14px;min-height:0;margin:0;padding:4px 7px;
 max-width:calc(100% - 28px);border-radius:5px;font-size:9px;line-height:1.2;
 background:var(--gui-paper);color:var(--ink);letter-spacing:.6px;
}
.duel-card-pile>.choice.playing-card .label:empty{display:none}
.panel.match-panel{padding:20px}
.match-panel .match-theme{padding-bottom:10px;margin-bottom:10px}
.match-panel .match-theme-icon{width:36px;height:36px}
.match-panel .match-theme h2{font-size:24px}
.match-panel .duel-top{margin-bottom:8px}
.match-panel .duel:has(>.duel-card-pile){padding:14px 2px 20px;gap:10px;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}
.match-panel .duel-card-pile{max-width:400px}
.match-panel .duel-results{height:68px;padding-top:6px;gap:10px;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}
.match-panel .duel-feedback{min-height:24px}
.match-panel .duel-feedback .notice{margin:4px 0;padding:8px 10px;font-size:11px;line-height:1.35}
.match-panel .duel-bottom{margin-top:6px;min-height:36px}
.match-panel .duel-bottom .btn{padding:10px 15px}
.duel-card-pile .choice-duo .card-faces{gap:6px}
.duel-card-pile .choice-duo .card-face{flex:1;min-height:0;padding:0;gap:4px}
.duel-card-pile .choice-duo .mixed-card-theme{position:static;font-size:9px;justify-content:center;text-align:center;gap:4px}
.duel-card-pile .choice-duo .mixed-card-theme>span{max-width:none}
.duel-card-pile .choice-duo .card-face strong{font-size:22px;line-height:1.15}
.duel-card-pile .choice-duo .card-origin-line{font-size:12px;line-height:1.2}
.duel-card-pile .choice-duo .plus{margin:0;font-size:14px;line-height:1}
.duel-card-pile .choice-duo .favorite-reminder{font-size:9px;padding:2px 5px}
@media(min-width:951px){
 .match-panel .duel-card-pile{max-width:calc(var(--match-card-height,420px) * 5 / 7)}
}
@media(max-width:950px){
 .panel.match-panel{padding:16px 10px}
 .match-panel .match-theme{gap:8px}
 .match-panel .match-theme h2{font-size:20px}
 .match-panel .duel:has(>.duel-card-pile){padding:14px 0 20px;gap:6px;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)}
 .match-panel .duel-results{gap:6px;padding-left:0;padding-right:0;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)}
 :root[data-palette][data-palette] .match-panel .duel-card-pile>.choice.playing-card{padding:34px 9px 34px;height:auto;min-height:0;aspect-ratio:5/7}
 .duel-card-pile .choice-duo .card-faces{gap:3px}
 .duel-card-pile .choice-duo .card-face{gap:3px}
 .duel-card-pile .choice-duo .mixed-card-theme{font-size:8px;line-height:1.15;gap:3px}
 .duel-card-pile .choice-duo .mixed-card-theme .theme-icon{width:12px;height:12px}
 .duel-card-pile .choice-duo .card-face strong{font-size:16px;letter-spacing:-.4px}
 .duel-card-pile .choice-duo .card-origin-line{font-size:10px}
 .duel-card-pile .choice-duo .favorite-reminder{font-size:7px;line-height:1.1}
}
/* The edge badge must remain visible outside the card's inner frame. */
:root[data-palette][data-palette] .duel-card-pile>.choice.playing-card{overflow:visible}

@media(max-width:950px){
 :root[data-palette][data-palette] .match-panel .duel-card-pile>.choice.choice-duo.playing-card{padding-bottom:44px}
}
/* Keep status badges inside the card, above its source theme. */
:root[data-palette][data-palette] .duel-card-pile>.choice.playing-card .label{
 top:12px;left:16px;max-width:calc(100% - 32px);padding:4px 7px;
 background:var(--gui-paper);border:1px solid var(--gui-card-edge);color:var(--ink);
}
:root[data-palette][data-palette] .duel-card-pile>.choice.playing-card.winner .label{
 background:#7654a2;border-color:#7654a2;color:#faf5ff;
}
.duel-card-pile>.choice.playing-card:not(.choice-duo) .mixed-card-theme{top:43px;right:16px;width:calc(100% - 32px)}
@media(max-width:950px){
 :root[data-palette][data-palette] .duel-card-pile>.choice.playing-card .label{top:10px;left:12px;font-size:8px;padding:3px 5px;max-width:calc(100% - 24px)}
 .duel-card-pile>.choice.playing-card:not(.choice-duo) .mixed-card-theme{top:36px;right:12px;width:calc(100% - 24px)}
}
.duel-card-pile>.choice.playing-card:not(.choice-duo) .mixed-card-theme{top:64px}
@media(max-width:950px){
 .duel-card-pile>.choice.playing-card:not(.choice-duo) .mixed-card-theme{top:44px}
}
