/* UTIL-013 Vòng quay may mắn. Kế thừa font Arial từ bộ UI chung; không ghi đè FontAwesome. */
.lw-layout{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:24px;align-items:start}
.lw-panel{grid-column:1;grid-row:1;min-width:0;display:grid;gap:12px}
.lw-stage{grid-column:2;grid-row:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:12px;background:#fff}
.lw-box-panel{border:1px solid var(--sou-line);border-radius:14px;padding:4px 14px 14px;background:#fff}
.lw-box-panel>summary,.lw-chance>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:var(--sou-ink);font-size:17px}
.lw-box-panel[open]>summary{margin-bottom:6px}
.lw-box-panel textarea{min-height:200px}
.lw-info{margin:0 0 8px;color:var(--sou-muted);font-size:14px;font-weight:700;min-height:1px}
.lw-dup{margin:0 0 10px;font-size:14px}
.lw-lock{margin:0 0 10px;color:var(--sou-warn);font-size:14px;font-weight:700}
.lw-chance{margin:0 0 6px}
.lw-chance>summary{font-size:15px}
.lw-chance .sou-table-wrap{max-height:280px;overflow:auto}
.lw-chance td:first-child{overflow-wrap:anywhere}
.lw-remember-help{display:block;margin:-4px 0 4px 30px;color:var(--sou-muted);font-size:14px}
.lw-reset-help{display:block;margin:8px 0 0;color:var(--sou-muted);font-size:14px}
.lw-box-panel .sou-toolbar .sou-button,.lw-history .sou-toolbar .sou-button{min-height:44px}
.lw-box-panel input[type=range]{min-height:44px;margin:0;cursor:pointer}
.lw-title{margin:0;max-width:100%;font-size:24px;font-weight:700;color:var(--sou-ink);text-align:center;line-height:1.3;overflow-wrap:anywhere}
.lw-wheel{position:relative;width:100%;max-width:520px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lw-wheel canvas[data-wheel]{display:block;margin:0 auto;max-width:100%;touch-action:manipulation}
.lw-pointer{position:absolute;top:-6px;left:50%;z-index:2;width:0;height:0;transform:translateX(-50%);border-left:17px solid transparent;border-right:17px solid transparent;border-top:32px solid #e11d48;filter:drop-shadow(0 2px 2px rgba(16,36,94,.35))}
.lw-confetti{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:3}
.lw-count{margin:0;color:var(--sou-muted);font-weight:700;font-size:15px;min-height:1px;text-align:center}
.lw-spin{width:100%;max-width:520px;min-height:58px;font-size:21px;border-radius:14px}
.lw-spin[aria-disabled=true]{opacity:.65;cursor:progress}
.lw-tools{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.lw-tools .sou-button{min-height:44px;padding:8px 14px;font-size:15px}
.lw-stage .sou-status{width:100%;max-width:520px;text-align:center;overflow-wrap:anywhere}
.lw-stage.is-full{justify-content:center;padding:20px 16px;overflow:auto}
.lw-stage.is-full [data-hide-fs]{display:none!important}
.lw-stage.is-full .lw-title{font-size:clamp(24px,4vw,40px)}
.lw-stage.is-full .lw-wheel{max-width:min(92vw,calc(100vh - 230px))}
.lw-stage.is-full .lw-spin{max-width:min(92vw,520px)}
.lw-stage:fullscreen{width:100%;height:100%;background:#fff}
.lw-modal{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(16,36,94,.5)}
.lw-modal[hidden]{display:none!important}
.lw-modal-card{width:100%;max-width:540px;max-height:92vh;overflow:auto;padding:24px;border-radius:20px;background:#fff;box-shadow:0 20px 50px rgba(0,0,0,.25);text-align:center}
.lw-modal-card:focus{outline:3px solid #3869ed;outline-offset:2px}
.lw-kicker{margin:0;color:var(--sou-muted);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.04em}
.lw-winner{margin:8px 0;font-size:clamp(28px,6vw,44px);font-weight:700;color:var(--sou-ink);line-height:1.2;overflow-wrap:anywhere}
.lw-meta{margin:0 0 8px;color:var(--sou-muted);font-size:15px}
.lw-note{margin:0 0 14px;padding:10px 12px;border-radius:12px;background:var(--sou-soft);color:var(--sou-text);font-size:14px;text-align:left}
.lw-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lw-modal-actions .sou-button{width:100%;padding:10px 12px}
.lw-foot{margin:14px 0 0;color:var(--sou-muted);font-size:13px}
.lw-history{margin-top:24px;padding-top:18px;border-top:1px solid var(--sou-line)}
.lw-history-head{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between}
.lw-history-head h2{font-size:19px}
.lw-history-head .sou-toolbar{margin-top:0}
.lw-empty{margin:10px 0 0;color:var(--sou-muted);font-size:15px}
.lw-history-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px;max-height:360px;overflow:auto}
.lw-history-list li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;padding:10px 12px;border:1px solid var(--sou-line);border-radius:12px;background:#f7f9fd}
.lw-history-list strong{color:var(--sou-ink);white-space:nowrap}
.lw-history-name{flex:1 1 160px;min-width:0;overflow-wrap:anywhere;font-weight:700;color:var(--sou-text)}
.lw-history-list small{color:var(--sou-muted);font-size:13px}
.lw-cta{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#f5f9ff;border:1px solid var(--sou-line);font-size:15px}
.lw-cta a{font-weight:700}
@media(max-width:860px){.lw-layout{grid-template-columns:1fr}.lw-stage{grid-row:1;grid-column:1}.lw-panel{grid-row:2;grid-column:1}}
@media(max-width:600px){.lw-modal{align-items:flex-end;padding:0}.lw-modal-card{border-radius:20px 20px 0 0;max-height:88vh;padding:20px 16px}.lw-modal-actions{grid-template-columns:1fr}.lw-history-head .sou-toolbar .sou-button{flex:1 1 100%}.lw-title{font-size:20px}}
@media print{.lw-panel,.lw-tools,.lw-spin,.lw-modal,.lw-history .sou-toolbar,.lw-cta{display:none!important}.lw-layout{display:block}}
