/* /plugins/activity-popups/assets/css/popups.css */
/* Live Activity Popups: one small note at a time in a bottom corner, in the
   theme's own colours (--paper, --ink, --rule, --theme-600). "start" is the
   reading side's corner, so it flips in right-to-left languages. On a phone
   it spans the width above the bottom bar (--appop-lift, set by the script
   from the bar's height). Long names and words wrap rather than being cut. */
.appop{position:fixed;z-index:45;bottom:calc(var(--appop-lift, 0px) + 16px + env(safe-area-inset-bottom, 0px));inset-inline-start:16px;width:min(360px, calc(100vw - 32px));pointer-events:none}
.appop[data-pos="end"]{inset-inline-start:auto;inset-inline-end:16px}
.appop-live{display:block}
.appop-toast{pointer-events:auto;position:relative;display:flex;align-items:flex-start;gap:12px;padding:12px 40px 12px 12px;padding-inline:12px 40px;border:1px solid var(--rule, rgba(15,23,42,.12));border-radius:14px;background:var(--paper, #fff);color:var(--ink, #0f172a);box-shadow:0 12px 32px rgba(0,0,0,.18);opacity:0;transform:translateY(12px);transition:opacity .28s ease, transform .28s ease}
.appop-toast.is-in{opacity:1;transform:none}
.appop-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;background:var(--paper-2, rgba(15,23,42,.05));color:var(--theme-600, #4f46e5);font-size:20px;overflow:hidden}
.appop-icon img{display:block;width:100%;height:100%;object-fit:cover}
.appop-body{display:flex;flex-direction:column;gap:3px;min-width:0;color:inherit;text-decoration:none}
a.appop-body:hover .appop-line strong,a.appop-body:focus-visible .appop-line strong{color:var(--theme-600, #4f46e5);text-decoration:underline}
a.appop-body:focus-visible{outline:2px solid var(--theme-600, #4f46e5);outline-offset:3px;border-radius:6px}
.appop-line{margin:0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.appop-line strong{font-weight:700}
.appop-meta{margin:0;font-size:12px;line-height:1.35;color:var(--ink-soft, #64748b);overflow-wrap:anywhere}
.appop-close{position:absolute;top:6px;inset-inline-end:6px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:999px;background:transparent;color:var(--ink-soft, #64748b);font-size:15px;cursor:pointer}
.appop-close:hover{color:var(--theme-600, #4f46e5);background:var(--paper-2, rgba(15,23,42,.06))}
.appop-close:focus-visible{outline:2px solid var(--theme-600, #4f46e5);outline-offset:1px}
@media (max-width:639px){
  .appop,.appop[data-pos="end"]{inset-inline:8px;width:auto;bottom:calc(var(--appop-lift, 0px) + 8px + env(safe-area-inset-bottom, 0px))}
  .appop-icon{width:40px;height:40px;font-size:17px}
  .appop-line{font-size:13.5px}
}
@media (prefers-reduced-motion:reduce){
  .appop-toast{transition:none;transform:none}
}
@media print{.appop{display:none}}

/* /plugins/tournaments/assets/css/page.css */
/* Game Tournaments: the customer's pages. Cards are the theme's own
   ed-card and buttons its ed-btn-primary / ed-btn-secondary; other tones
   follow the text colour, so each theme keeps its look in light and dark. */
.tn-page{box-sizing:border-box;width:100%;max-width:1040px;margin:0 auto;padding:24px 16px 48px;display:flex;flex-direction:column;gap:20px}
.tn-page *{box-sizing:border-box}
.tn-head{display:flex;gap:14px;align-items:flex-start}
.tn-head h1,.tn-hero h1{margin:0 0 4px;font-size:clamp(22px,4vw,28px);font-weight:800;line-height:1.2}
.tn-head p{margin:0;line-height:1.5;opacity:.8}
.tn-head-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;font-size:20px;color:var(--theme-600,#4f46e5);background:color-mix(in srgb,currentColor 8%,transparent)}
.dark .tn-head-icon{color:var(--theme-400,#818cf8)}
.tn-h2{margin:0 0 12px;font-size:18px;font-weight:800}
.tn-empty{margin:0;padding:20px}
.tn-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.tn-card{display:flex;flex-direction:column;gap:8px;padding:18px;margin:0}
.tn-card h3{margin:0;font-size:17px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.tn-card h3 a{color:inherit;text-decoration:none}
.tn-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;opacity:.9}
.tn-chip{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:700;background:color-mix(in srgb,currentColor 10%,transparent)}
.tn-chip.is-live{background:rgba(16,185,129,.15);color:#047857}
.dark .tn-chip.is-live{color:#6ee7b7}
.tn-chip.is-upcoming{background:rgba(245,158,11,.16);color:#b45309}
.dark .tn-chip.is-upcoming{color:#fbbf24}
.tn-meta{margin:0;font-size:13.5px;opacity:.8}
.tn-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 6px}
.tn-facts div{min-width:0}
.tn-facts dt{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.65}
.tn-facts dd{margin:2px 0 0;font-weight:700;font-size:14px;overflow-wrap:anywhere}
.tn-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding-left:20px;padding-right:20px;text-decoration:none;margin-top:auto}
.tn-back{margin:0}
.tn-link{font-weight:600;color:var(--theme-600,#4f46e5);text-decoration:none}
.dark .tn-link{color:var(--theme-400,#818cf8)}
.tn-hero{display:flex;flex-direction:column;gap:8px;padding:20px}
.tn-desc{margin:4px 0;line-height:1.55}
.tn-you{margin:6px 0 0;font-weight:600}
.tn-join{margin:6px 0 0}
.tn-flash{margin:4px 0;padding:12px 14px;border-radius:10px;font-size:14px}
.tn-flash--ok{background:rgba(16,185,129,.12);color:#047857}
.tn-flash--error{background:rgba(239,68,68,.12);color:#b91c1c}
.dark .tn-flash--ok{color:#6ee7b7}
.dark .tn-flash--error{color:#fca5a5}
.tn-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px}
@media (max-width:760px){.tn-cols{grid-template-columns:1fr}}
.tn-box{padding:20px}
.tn-muted{margin:10px 0 0;font-size:13.5px;line-height:1.5;opacity:.75}
.tn-prizes,.tn-board{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.tn-prizes li,.tn-board li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:9px 0;border-top:1px solid color-mix(in srgb,currentColor 10%,transparent)}
.tn-prizes li:first-child,.tn-board li:first-child{border-top:0}
.tn-board li.is-me{font-weight:700}
.tn-pos{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:13px;font-weight:800;background:color-mix(in srgb,currentColor 8%,transparent)}
.tn-prizes li:nth-child(1) .tn-pos,.tn-board li:nth-child(1) .tn-pos{background:rgba(245,158,11,.25)}
.tn-who{flex:1 1 120px;min-width:0;overflow-wrap:anywhere}
.tn-score{font-size:14px;font-weight:600}

