/* Demo Wingo + local auth styles (dw-*), ported from the network demo bundle. Themed by --demo-accent. */
.dw-scope{--dw-accent:var(--demo-accent,#f5b027);--dw-accent-2:var(--demo-accent-2,#f59e0b);--dw-ink:var(--demo-accent-ink,#1a1200);--dw-card:#232833;--dw-panel:#1e222b;--dw-panel-2:#16191f;--dw-line:hsla(0,0%,100%,.08);--dw-text:#e5e9f0;--dw-muted:#93a0b4}
.dw-card{max-width:25rem;margin:0 auto;overflow:hidden;border-radius:1rem;border:1px solid var(--dw-line);background:var(--dw-card);color:var(--dw-text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;box-shadow:0 20px 45px -20px rgba(0,0,0,.7)}
.dw-head{background:linear-gradient(135deg,var(--dw-accent),var(--dw-accent-2));color:var(--dw-ink);padding:.75rem 1rem}
.dw-head-row{display:flex;align-items:center;justify-content:space-between}
.dw-title{font-size:.9rem;font-weight:800;line-height:1}
.dw-sub{margin-top:2px;font-size:.68rem;font-weight:600;opacity:.85}
.dw-bal-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.dw-bal{font-size:1.15rem;font-weight:800;line-height:1}
.dw-meta{margin-top:.5rem;display:flex;align-items:flex-end;justify-content:space-between}
.dw-period{font-size:.68rem;font-weight:700}
.dw-period,.dw-timer{font-family:ui-monospace,monospace}
.dw-timer{border-radius:.375rem;background:#1a1200;padding:.25rem .5rem;font-size:1rem;font-weight:800;line-height:1;color:var(--dw-accent)}
.dw-recent{display:flex;align-items:center;gap:.375rem;flex-wrap:nowrap;border-bottom:1px solid var(--dw-line);background:var(--dw-panel);padding:.5rem .75rem;overflow-x:auto}
.dw-recent-label{font-size:.6rem;font-weight:700;text-transform:uppercase;color:var(--dw-muted);margin-right:.25rem;white-space:nowrap}
.dw-ball{position:relative;flex:none;display:grid;place-items:center;border-radius:9999px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);box-shadow:inset 0 -4px 8px rgba(0,0,0,.25),0 3px 8px rgba(0,0,0,.25);overflow:hidden;height:1.5rem;width:1.5rem;font-size:.7rem}
.dw-ball:before{content:"";position:absolute;top:12%;left:15%;width:28%;height:18%;border-radius:50%;transform:rotate(-35deg);pointer-events:none;background:radial-gradient(ellipse at center,hsla(0,0%,100%,.95) 0,hsla(0,0%,100%,.2) 60%,transparent 100%)}
.dw-red{background:radial-gradient(circle at 35% 35%,#f87171,#dc2626 60%,#991b1b 100%)}
.dw-green{background:radial-gradient(circle at 35% 35%,#4ade80,#16a34a 60%,#14532d 100%)}
.dw-violet{background:radial-gradient(circle at 35% 35%,#c4b5fd,#7c3aed 60%,#5b21b6 100%)}
.dw-red-violet{background:radial-gradient(circle at 35% 35%,hsla(0,0%,100%,.25),transparent 50%),conic-gradient(from 90deg at 50% 50%,#dc2626 0deg 180deg,#7c3aed 180deg 1turn)}
.dw-green-violet{background:radial-gradient(circle at 35% 35%,hsla(0,0%,100%,.25),transparent 50%),conic-gradient(from 90deg at 50% 50%,#16a34a 0deg 180deg,#7c3aed 180deg 1turn)}
@keyframes dw-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.12);opacity:1}to{transform:scale(1)}}
.dw-pop{animation:dw-pop .45s ease-out}
.dw-body{position:relative;padding:.75rem}
.dw-grid3{grid-template-columns:repeat(3,1fr)}
.dw-grid2,.dw-grid3{display:grid;gap:.5rem}
.dw-grid2{grid-template-columns:repeat(2,1fr)}
.dw-nums{margin-top:.5rem;display:grid;grid-template-columns:repeat(10,1fr);gap:.25rem}
.dw-cbtn{position:relative;border:none;cursor:pointer;border-radius:.5rem;padding:.5rem 0;text-align:center;font-weight:700;color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.3);transition:transform .08s ease}
.dw-cbtn:active{transform:scale(.95)}
.dw-cbtn:disabled{opacity:.5;cursor:not-allowed}
.dw-cbtn .l{display:block;font-size:.85rem;line-height:1}
.dw-cbtn .m{display:block;font-size:.62rem;font-weight:600;opacity:.9}
.dw-c-green{background:linear-gradient(135deg,#22c55e,#16a34a)}
.dw-c-violet{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}
.dw-c-red{background:linear-gradient(135deg,#ef4444,#dc2626)}
.dw-c-big{background:linear-gradient(135deg,#f97316,var(--dw-accent-2))}
.dw-c-small{background:linear-gradient(135deg,#3b82f6,#2563eb)}
.dw-num{position:relative;border:none;cursor:pointer;aspect-ratio:1/1;width:100%;font-size:.7rem;transition:transform .08s ease}
.dw-num:active{transform:scale(.9)}
.dw-num:disabled{opacity:.5;cursor:not-allowed}
.dw-num.sel{outline:2px solid var(--dw-accent);outline-offset:1px}
.dw-badge{position:absolute;top:-6px;right:-6px;border-radius:9999px;background:#1a1200;padding:1px 5px;font-size:.6rem;font-weight:700;color:var(--dw-accent)}
.dw-chips{margin-top:.75rem;justify-content:space-between;gap:.5rem}
.dw-chips,.dw-chips-l{display:flex;align-items:center}
.dw-chips-l{gap:.375rem}
.dw-chip-label{font-size:.6rem;font-weight:700;text-transform:uppercase;color:var(--dw-muted)}
.dw-chip{border:none;cursor:pointer;border-radius:.375rem;padding:.25rem .6rem;font-size:.72rem;font-weight:700;background:var(--dw-panel);color:var(--dw-text)}
.dw-chip.on{background:linear-gradient(135deg,var(--dw-accent),var(--dw-accent-2));color:var(--dw-ink)}
.dw-clear{border:1px solid var(--dw-line);background:transparent;cursor:pointer;border-radius:.375rem;padding:.25rem .6rem;font-size:.72rem;font-weight:600;color:var(--dw-muted)}
.dw-clear:disabled{opacity:.4;cursor:not-allowed}
.dw-lock,.dw-reveal{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:rgba(15,17,21,.85);backdrop-filter:blur(3px);border:none}
.dw-reveal{z-index:20;cursor:pointer}
.dw-lock-num{font-family:ui-monospace,monospace;font-size:2.25rem;font-weight:900;color:var(--dw-accent)}
.dw-lock-txt{font-size:.85rem;font-weight:700;color:#e5e9f0}
.dw-reveal-win{color:var(--dw-accent)}
.dw-reveal-lose,.dw-reveal-win{font-size:1.25rem;font-weight:900}
.dw-reveal-lose{color:#e5e9f0}
.dw-reveal-sub{font-size:.72rem;font-weight:600}
.dw-reveal-sub.win{color:#4ade80}
.dw-reveal-sub.lose{color:#f87171}
.dw-reveal-hint{margin-top:.25rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;color:var(--dw-muted)}
.dw-status{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid var(--dw-line);background:var(--dw-panel);padding:.5rem .75rem}
.dw-status-txt{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;color:#c9d2df}
.dw-topup{flex:none;border:none;cursor:pointer;border-radius:.375rem;background:linear-gradient(135deg,var(--dw-accent),var(--dw-accent-2));padding:.25rem .5rem;font-size:.7rem;font-weight:700;color:var(--dw-ink)}
.dw-note{background:var(--dw-panel-2);padding:.5rem .75rem;text-align:center;font-size:.62rem;line-height:1.35;color:#6b7789}
.dw-gatewrap{position:relative}
.dw-blur{filter:blur(4px);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.dw-gate{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;text-align:center;padding:1rem;border-radius:1rem;background:rgba(10,12,16,.72);backdrop-filter:blur(2px)}
.dw-gate h3{font-size:1.05rem;font-weight:800;color:#fff;margin:0}
.dw-gate p{font-size:.8rem;color:#c9d2df;margin:0;max-width:20rem}
.dw-gate-btns{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}
.dw-btn-primary{background:linear-gradient(135deg,var(--dw-accent),var(--dw-accent-2));color:var(--dw-ink)}
.dw-btn-ghost,.dw-btn-primary{border-radius:.5rem;padding:.55rem 1rem;font-size:.82rem;font-weight:700;text-decoration:none}
.dw-btn-ghost{border:1px solid hsla(0,0%,100%,.25);color:#e5e9f0}
.dw-playbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;max-width:25rem;margin:0 auto .75rem;padding:.5rem .75rem;border-radius:.75rem;border:1px solid var(--dw-line);background:var(--dw-panel);font-size:.8rem;color:var(--dw-text)}
.dw-playbar b{color:var(--dw-accent)}
.dw-playbar a{color:var(--dw-muted);text-decoration:underline;cursor:pointer;background:none;border:none;font:inherit}
.dw-auth{max-width:26rem}
.dw-tabs{display:flex;gap:.25rem;margin-bottom:.75rem}
.dw-tab{flex:1;border:1px solid var(--dw-line);cursor:pointer;border-radius:.5rem;padding:.5rem;font-size:.85rem;font-weight:700;background:var(--dw-panel);color:var(--dw-muted)}
.dw-tab.on{background:linear-gradient(135deg,var(--dw-accent),var(--dw-accent-2));color:var(--dw-ink);border-color:transparent}
.dw-field{margin-bottom:.6rem;text-align:left}
.dw-label{display:block;font-size:.72rem;font-weight:600;color:var(--dw-muted);margin-bottom:.2rem}
.dw-input{width:100%;box-sizing:border-box;border-radius:.5rem;border:1px solid var(--dw-line);background:var(--dw-panel-2);color:var(--dw-text);padding:.55rem .7rem;font-size:.9rem}
.dw-input:focus{outline:2px solid var(--dw-accent);outline-offset:0}
.dw-error{color:#f87171}
.dw-error,.dw-ok{font-size:.75rem;margin:.35rem 0 0}
.dw-ok{color:#4ade80}
.dw-submit{width:100%;border:none;cursor:pointer;border-radius:.5rem;padding:.6rem;font-size:.9rem;font-weight:800;margin-top:.25rem;background:linear-gradient(135deg,var(--dw-accent),var(--dw-accent-2));color:var(--dw-ink)}
.dw-submit:disabled{opacity:.6;cursor:wait}
.dw-signed{text-align:center}
.dw-signed .hi{font-size:1.05rem;font-weight:800;color:#fff}
.dw-signed .wallet{margin:.35rem 0 .75rem;font-size:.85rem;color:var(--dw-muted)}
.dw-signed .wallet b{color:var(--dw-accent);font-size:1.1rem}
.dw-signed-btns{display:flex;flex-direction:column;gap:.5rem}
.dw-colorpanels{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.dw-colorpanel{position:relative;border:none;cursor:pointer;border-radius:.85rem;padding:1.1rem .5rem;color:#fff;font-weight:800;box-shadow:0 6px 16px -6px rgba(0,0,0,.6);transition:transform .08s ease}
.dw-colorpanel:active{transform:scale(.96)}
.dw-colorpanel:disabled{opacity:.5;cursor:not-allowed}
.dw-colorpanel .cp-name{display:block;font-size:1.15rem;line-height:1}
.dw-colorpanel .cp-mult{display:block;margin-top:.25rem;font-size:.72rem;opacity:.9}
.dw-colorpanel.win{animation:dw-flash .8s ease-out}
@keyframes dw-flash{0%,to{box-shadow:0 6px 16px -6px rgba(0,0,0,.6)}40%{box-shadow:0 0 0 4px hsla(0,0%,100%,.85),0 6px 22px rgba(0,0,0,.5)}}
.dw-streakbar{display:flex;align-items:center;gap:.3rem;flex-wrap:nowrap;overflow-x:auto;padding:.25rem 0}
.dw-dot{flex:none;height:.9rem;width:.9rem;border-radius:9999px;box-shadow:inset 0 -2px 4px rgba(0,0,0,.3)}
.dw-streaknum{font-size:.75rem;font-weight:700}

/* vanilla port additions */
.dw-hidden{display:none!important}
.dw-embed{margin-top:14px}
.dw-scope button,.dw-scope input{font-family:inherit}
.dw-scope a.dw-btn-primary,.dw-scope a.dw-btn-ghost{display:inline-block;text-align:center;line-height:1.2}
.dw-scope button.dw-btn-ghost{background:transparent;cursor:pointer;font:inherit;font-weight:700}
.dw-scope .dw-btn-primary:hover,.dw-scope .dw-btn-ghost:hover{filter:brightness(1.08)}
.dw-scope .dw-btn-ghost:hover{border-color:hsla(0,0%,100%,.45)}
.dw-reveal{width:100%;color:inherit;font:inherit}
.dw-gamewrap{transition:filter .25s ease}
.dw-gatewrap .dw-blur{filter:blur(4px);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}
.dw-gatewrap .dw-gate{max-width:25rem;margin:0 auto}
.dw-playbar button{color:var(--dw-muted);text-decoration:underline;cursor:pointer;background:none;border:none;font:inherit;padding:0}
.dw-playbar button:hover{color:var(--dw-text)}
.dw-wingo{margin:0 auto}
.dw-input::placeholder{color:#6b7789}
.dw-signed-btns a,.dw-signed-btns button{width:100%;box-sizing:border-box}
@media (prefers-reduced-motion:reduce){.dw-pop,.dw-colorpanel.win{animation:none}}
