.sact{display:flex;flex-direction:column;gap:1.25rem}.sact-lobby{display:flex;gap:.75rem}.sact-lobby-stat{--sact-lobby-a:#f59e0b;--sact-lobby-b:#f97316;flex:1 1 0;min-width:0;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;-moz-column-gap:.6rem;column-gap:.6rem;align-items:center;justify-content:center;padding:.7rem .75rem;border-radius:16px;border:1px solid color-mix(in srgb,var(--sact-lobby-a) 30%,var(--dash-border));background:linear-gradient(150deg,color-mix(in srgb,var(--sact-lobby-a) 14%,transparent),color-mix(in srgb,var(--sact-lobby-b) 5%,transparent) 72%),var(--dash-surface-solid);box-shadow:var(--dash-card-shadow)}.sact-lobby-stat[data-tone=badges]{--sact-lobby-a:#eab308;--sact-lobby-b:#f59e0b}.sact-lobby-stat[data-tone=streak]{--sact-lobby-a:#f97316;--sact-lobby-b:#ef4444}.sact-lobby-icon{grid-row:1/3;display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:.7rem;color:#fff;background:linear-gradient(135deg,var(--sact-lobby-a),var(--sact-lobby-b));box-shadow:0 6px 14px -6px color-mix(in srgb,var(--sact-lobby-b) 70%,transparent)}.sact-lobby-value{font-family:var(--font-heading,"Montserrat"),sans-serif;font-size:1.15rem;font-weight:800;line-height:1.1;color:var(--dash-text);font-variant-numeric:tabular-nums}.sact-lobby-label{font-size:.62rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--dash-text-muted);white-space:nowrap}@media (max-width:560px){.sact-lobby{gap:.5rem}.sact-lobby-stat{padding:.55rem .5rem;-moz-column-gap:.45rem;column-gap:.45rem}.sact-lobby-icon{width:1.8rem;height:1.8rem}.sact-lobby-value{font-size:1rem}.sact-lobby-label{font-size:.56rem}.sact-section-head{text-align:center}.sact-filter-row,.sact-section-head{justify-content:center}}.sact-runner-view{display:flex;flex-direction:column;gap:1rem}.sact-runner-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.sact-runner-back{display:inline-flex;align-items:center;gap:.4375rem;padding:.4375rem .75rem;border-radius:999px;border:1px solid var(--dash-border);background:var(--dash-surface-solid);color:var(--dash-text-muted);font-family:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .5s ease-in-out,color .5s ease-in-out}.sact-runner-back:hover{background:var(--dash-surface);color:var(--dash-text)}.sact-runner-title{display:inline-flex;align-items:center;gap:.5rem}.sact-runner-title h2{font-family:var(--font-heading,"Montserrat"),sans-serif;font-size:1.0625rem;font-weight:800;color:var(--dash-text);margin:0;letter-spacing:-.01em}.sact-runner-title svg{color:var(--dash-purple)}.sact-section{display:flex;flex-direction:column;gap:.875rem}.sact-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;padding:.875rem 1.125rem;background:var(--dash-surface-solid);border:1px solid var(--dash-border);border-radius:16px;box-shadow:var(--dash-card-shadow)}.sact-card-bar{display:none}.sact-section-title{font-family:var(--font-heading,"Montserrat"),sans-serif;font-size:1.0625rem;font-weight:800;color:var(--dash-text);margin:0;letter-spacing:-.01em}.sact-section-sub{font-size:.8rem;color:var(--dash-text-muted);margin:3px 0 0}.sact-filter-row{display:flex;align-items:flex-start;gap:.625rem;flex-wrap:wrap;padding:.5rem 0}.sact-filter-label{font-size:.7rem;font-weight:800;color:var(--dash-text-muted);text-transform:uppercase;letter-spacing:.06em;padding:.4375rem 0;flex-shrink:0}.sact-filter-pills{display:inline-flex;flex-wrap:wrap;gap:.375rem}.sact-filter-pill{display:inline-flex;align-items:center;gap:.3125rem;padding:.375rem .75rem;border-radius:999px;border:1px solid var(--dash-border);background:var(--dash-surface-solid);color:var(--dash-text-muted);font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .5s ease-in-out,color .5s ease-in-out,border-color .5s ease-in-out}.sact-filter-pill:hover{color:var(--dash-text)}.sact-filter-pill[data-active=true]{background:color-mix(in srgb,var(--dash-purple) 14%,transparent);color:var(--dash-purple);border-color:color-mix(in srgb,var(--dash-purple) 40%,transparent)}.sact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.875rem}.sact-card{--sact-accent:var(--dash-purple);position:relative;display:flex;flex-direction:column;background:linear-gradient(140deg,color-mix(in srgb,var(--sact-accent) 55%,#1e1b4b),color-mix(in srgb,var(--sact-accent) 22%,#14112e) 70%);border:1.5px solid transparent;border-radius:18px;overflow:hidden;text-align:left;font-family:inherit;cursor:pointer;color:#ffffff;width:100%;box-shadow:0 16px 34px rgba(0,0,0,.26);transition:transform .3s ease-in-out,box-shadow .5s ease-in-out,border-color .3s ease-in-out}.sact-card[data-tone=info]{--sact-accent:var(--dash-info)}.sact-card[data-tone=accent]{--sact-accent:var(--dash-accent)}.sact-card[data-tone=success]{--sact-accent:var(--dash-success)}.sact-card[data-tone=warn]{--sact-accent:#f59e0b}.sact-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--sact-accent) 60%,transparent);box-shadow:0 22px 46px rgba(0,0,0,.34)}.sact-card .sact-card-title{color:#ffffff}.sact-card .sact-card-desc{color:rgba(255,255,255,.82)}.sact-card .sact-card-type{color:rgba(255,255,255,.92)}.sact-card .sact-card-topic{color:rgba(255,255,255,.8)}.sact-card .sact-card-go{color:#ffffff}.sact-card .sact-card-new,.sact-card .sact-card-played{color:rgba(255,255,255,.85)}.sact-card:hover{transform:translateY(-2px);box-shadow:var(--dash-card-shadow-hover)}.sact-card-bar{height:3px;background:linear-gradient(90deg,var(--dash-purple),#a78bfa)}.sact-card[data-tone=info] .sact-card-bar{background:linear-gradient(90deg,var(--dash-info),#38bdf8)}.sact-card[data-tone=accent] .sact-card-bar{background:linear-gradient(90deg,var(--dash-accent),#fb923c)}.sact-card[data-tone=success] .sact-card-bar{background:linear-gradient(90deg,var(--dash-success),#34d399)}.sact-card[data-tone=warn] .sact-card-bar{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.sact-card-body{padding:1rem 1.125rem 1.125rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.sact-card-head{display:flex;align-items:flex-start;gap:.625rem}.sact-card-icon{width:50px;height:50px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;color:#ffffff;flex-shrink:0;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);filter:drop-shadow(0 6px 16px rgba(0,0,0,.3))}.sact-card-icon svg{width:26px;height:26px}.sact-card-meta{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.sact-card-type{font-size:.7rem;color:var(--dash-text-muted)}.sact-card-difficulty,.sact-card-type{font-weight:800;text-transform:uppercase;letter-spacing:.06em}.sact-card-difficulty{display:inline-block;font-size:.65rem;padding:1px .5rem;border-radius:999px;align-self:flex-start}.sact-card-difficulty[data-difficulty=easy]{background:#d1fae5;color:#047857}.sact-card-difficulty[data-difficulty=medium]{background:#fef3c7;color:#b45309}.sact-card-difficulty[data-difficulty=hard]{background:#fee2e2;color:#b91c1c}.sact-card-score{font-family:var(--font-heading,"Montserrat"),sans-serif;font-size:1rem;font-weight:800;color:var(--dash-text);font-variant-numeric:tabular-nums;flex-shrink:0}.sact-card-score[data-grade=high]{color:var(--dash-success)}.sact-card-score[data-grade=mid]{color:#d97706}.sact-card-score[data-grade=low]{color:var(--dash-danger)}.sact-card-title{font-family:var(--font-heading,"Montserrat"),sans-serif;font-size:.9375rem;font-weight:800;color:var(--dash-text);margin:0;letter-spacing:-.01em;line-height:1.3}.sact-card-desc{font-size:.8125rem;color:var(--dash-text-muted);margin:0;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sact-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid var(--dash-border);padding-top:.625rem;margin-top:auto}.sact-card-footer-meta{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--dash-text-muted);flex-wrap:wrap}.sact-card-topic{font-weight:600}.sact-card-new,.sact-card-played{display:inline-flex;align-items:center;gap:.25rem}.sact-card-new{color:var(--dash-purple);font-weight:700}.sact-card-go{display:inline-flex;align-items:center;gap:.3125rem;font-size:.8125rem;font-weight:700;color:var(--dash-text)}.sact-history-list{display:flex;flex-direction:column;gap:.5rem}.sact-history{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;border-radius:12px;border:1px solid var(--dash-border);background:var(--dash-surface-solid);transition:box-shadow .5s ease-in-out}.sact-history:hover{box-shadow:var(--dash-card-shadow-hover)}.sact-history-icon{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:#ffffff;flex-shrink:0;background:linear-gradient(135deg,var(--dash-purple),#6d28d9)}.sact-history[data-tone=info] .sact-history-icon{background:linear-gradient(135deg,var(--dash-info),#0369a1)}.sact-history[data-tone=accent] .sact-history-icon{background:linear-gradient(135deg,var(--dash-accent),#ea580c)}.sact-history[data-tone=success] .sact-history-icon{background:linear-gradient(135deg,var(--dash-success),#047857)}.sact-history-body{flex:1;min-width:0}.sact-history-title{font-size:.9375rem;font-weight:700;color:var(--dash-text);margin-bottom:4px}.sact-history-meta{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--dash-text-muted);flex-wrap:wrap}.sact-history-dot{opacity:.6}.sact-history-score{font-family:var(--font-heading,"Montserrat"),sans-serif;font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums;flex-shrink:0;padding:.375rem .75rem;border-radius:10px;border:1px solid var(--dash-border)}.sact-history-score[data-grade=high]{color:var(--dash-success);background:color-mix(in srgb,var(--dash-success) 8%,transparent);border-color:color-mix(in srgb,var(--dash-success) 30%,transparent)}.sact-history-score[data-grade=mid]{color:#d97706;background:color-mix(in srgb,#f59e0b 10%,transparent);border-color:color-mix(in srgb,#f59e0b 30%,transparent)}.sact-history-score[data-grade=low]{color:var(--dash-danger);background:color-mix(in srgb,var(--dash-danger) 8%,transparent);border-color:color-mix(in srgb,var(--dash-danger) 30%,transparent)}.sact-empty{background:var(--dash-surface-solid);border:1px dashed var(--dash-border);border-radius:16px;padding:2rem 1.25rem;text-align:center;color:var(--dash-text-muted);font-size:.875rem;display:flex;flex-direction:column;align-items:center;gap:.625rem}.sact-empty p{margin:0}.sact-empty-cta{margin-top:.25rem;padding:.5rem 1rem;border-radius:10px;border:none;background:linear-gradient(135deg,var(--dash-purple),#6d28d9);color:#ffffff;font-size:.8125rem;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .5s ease-in-out,box-shadow .5s ease-in-out;box-shadow:0 6px 16px color-mix(in srgb,var(--dash-purple) 22%,transparent)}.sact-empty-cta:hover{transform:translateY(-1px);box-shadow:0 10px 22px color-mix(in srgb,var(--dash-purple) 32%,transparent)}