*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,"Segoe UI",sans-serif;background:radial-gradient(ellipse at 70% 0,var(--ui-raised),var(--ui-bg) 65%);min-height:100dvh}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:var(--ui-text);border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:12px;padding:9px 17px;transition:background .15s,transform .15s}button:hover{background:var(--ui-raised)}button:active{transform:scale(.97)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-on-accent);font-weight:700}a{color:var(--ui-accent-soft)}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}.topbar{height:70px;display:flex;align-items:center;gap:20px;padding:10px max(20px,env(safe-area-inset-left));border-bottom:1px solid var(--ui-border)}.back{display:flex;color:var(--ui-text)}.logo{width:100px;height:44px;object-fit:contain}.edition{font-size:11px;letter-spacing:3px;color:var(--ui-muted)}.language{margin-left:auto;display:flex;gap:4px}.language button{font-size:12px;padding:7px 11px}.language button[aria-pressed=true]{background:var(--ui-accent);color:var(--ui-on-accent);border-color:var(--ui-accent)}.tabs{display:flex;gap:8px;max-width:1200px;margin:20px auto 0;padding:0 24px}.tabs button{border:none;background:transparent;color:var(--ui-muted);border-radius:0;border-bottom:2px solid transparent}.tabs button[aria-current=true]{color:var(--ui-text);border-bottom-color:var(--ui-accent)}main{max-width:1200px;padding:24px;margin:auto}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(25px,3vw,40px);letter-spacing:-1px;margin-bottom:8px}h2{font-size:22px}.muted{color:var(--ui-muted)}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--ui-accent)}.intro{margin-bottom:26px}.starter-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.starter-tile{position:relative;display:flex;align-items:center;gap:24px;padding:26px;border:1px solid var(--ui-border);border-radius:24px;background:linear-gradient(135deg,var(--ui-raised),var(--ui-surface));overflow:hidden}.starter-tile.chosen{border-color:var(--ui-accent)}.hero-card{width:145px;aspect-ratio:5/7;object-fit:contain;transform:rotate(-5deg);filter:drop-shadow(0 14px 14px #0008)}.starter-copy{flex:1;min-width:0}.starter-copy h2{margin:8px 0}.starter-copy p{font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.chosen-label{color:var(--ui-accent-soft);font-size:12px;font-weight:700}.active-summary{margin-top:24px;border:1px solid var(--ui-border);border-radius:18px;padding:20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.active-summary p{margin:0}.notice{font-size:12px;color:var(--ui-muted);margin-top:22px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0}input,select{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);border-radius:10px;padding:9px 12px}input[type=search]{flex:1;min-width:140px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:18px}.card-cell{min-width:0;position:relative}.card-open{display:block;padding:0;border:0;background:none!important;width:100%;text-align:left}.card-open img{width:100%;aspect-ratio:5/7;object-fit:contain;border-radius:7px;transition:transform .15s}.card-open:hover img{transform:translateY(-4px)}.card-caption{display:block;font-size:12px;margin-top:5px;min-height:36px}.card-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--ui-muted)}.counter{display:flex;align-items:center;justify-content:space-between;margin-top:6px;gap:4px;background:var(--ui-surface);border-radius:10px}.counter button{border:0;padding:4px 13px;font-size:21px}.counter output{font-weight:700}.deck-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.deck-entry{padding:20px;border-radius:18px;background:var(--ui-surface);border:1px solid var(--ui-border)}.deck-entry h2{font-size:18px;margin:8px 0}.deck-entry p{font-size:12px}.deck-entry .actions button{font-size:12px}.editor-head{position:sticky;top:0;z-index:5;background:var(--ui-bg);padding:14px 0;border-bottom:1px solid var(--ui-border);margin-bottom:18px}.editor-line{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.editor-line input{flex:1;min-width:150px}.stats{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;margin:12px 0 5px}.stats strong{color:var(--ui-accent-soft)}.errors{color:var(--ui-accent-soft);font-size:12px;margin:10px 0 0}.valid{font-size:12px;color:var(--ui-text);margin:10px 0 0}.source-link{font-size:12px}.empty{padding:30px;text-align:center;color:var(--ui-muted)}dialog{color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:20px;padding:0;width:min(780px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}dialog::backdrop{background:#000c;backdrop-filter:blur(4px)}.dialog-head{position:sticky;top:0;z-index:2;background:var(--ui-surface);display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--ui-border)}.dialog-head span{font-size:10px;letter-spacing:2px;color:var(--ui-muted)}.close{font-size:25px;line-height:1;padding:3px 10px}.detail-grid{display:grid;grid-template-columns:240px 1fr;gap:24px;padding:24px}.detail-image{width:100%;object-fit:contain;align-self:start}.detail-grid h2{font-size:21px;margin:6px 0}.detail-stats{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;margin:16px 0}.detail-stats b{display:block;font-size:17px}.skill{white-space:pre-wrap;line-height:1.75;font-size:14px}.detail-note{font-size:11px;color:var(--ui-muted)}.glossary{font-size:12px;color:var(--ui-muted);margin-top:18px}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ui-text);color:var(--ui-bg);padding:10px 20px;border-radius:12px;z-index:30;display:none}@media(max-width:900px){.topbar{height:54px;gap:12px}.logo{height:36px;width:85px}.tabs{margin-top:8px;padding:0 16px}.tabs button{padding:6px 12px}main{padding:16px}.starter-grid{gap:14px}.starter-tile{gap:15px;padding:18px;border-radius:18px}.hero-card{width:100px}.starter-copy h2{font-size:18px}.starter-copy button{font-size:12px;padding:7px 10px}.intro{margin-bottom:16px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:14px}.detail-grid{grid-template-columns:170px 1fr;gap:18px;padding:18px}.editor-head{padding:10px 0}.editor-line button{padding:7px 12px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Keep the featured card separate from the full-width collection card buttons. */
[hidden]{display:none!important}.play-entry .actions{flex-shrink:0}.play-entry .actions button{min-height:44px}
.starter-tile .hero-card{width:145px;flex:0 0 145px}
@media(max-width:900px){.starter-tile .hero-card{width:100px;flex-basis:100px}}


/* Portrait is a normal playable layout, including lobby and dialogs. */
@media(max-width:600px) and (orientation:portrait){
  .topbar{gap:9px;padding-inline:12px}.edition{font-size:9px;letter-spacing:1px}
  .tabs{gap:0;padding-inline:12px}.tabs button{flex:1;font-size:12px;padding:9px 5px}
  .starter-grid{grid-template-columns:1fr}.starter-tile{padding:16px;gap:16px}
  .play-entry{padding:16px;gap:12px;flex-wrap:wrap}.play-entry button{width:100%;padding:12px}
  .active-summary{padding:16px}.card-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
  dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:16px}
  .dialog-head{padding:10px 12px;gap:6px}.dialog-head span{letter-spacing:1px}
  .detail-grid{grid-template-columns:1fr;padding:14px;gap:14px}.detail-image{width:150px;justify-self:center}
  .printed-info{min-width:0}.room-form{padding:18px}.room-form select{width:100%;min-width:0}
}

.pending-call-card{display:flex;align-items:center;gap:12px;margin:12px 0;padding:10px;border:1px solid #83cce566;border-radius:12px;background:#102638}.pending-call-card button{padding:0;flex:none;background:transparent;border:0}.pending-call-card img{display:block;width:78px;height:114px;object-fit:contain}.pending-call-card span{font-size:12px;line-height:1.6}.pending-call-card strong{display:block;color:#ffe1a8;font-size:14px}.pending-call-card small{display:block;color:#afcce1}

.trigger-source.has-call-preview{display:block}.pending-call-card{width:100%;min-width:0}.pending-call-card span{min-width:0;overflow-wrap:anywhere}
