:root{--c-bg: #ffffff;--c-bg2: #f1f3f6;--c-text: #111418;--c-hint: #6b7280;--c-accent: #2a7de1;--c-accent-text: #ffffff;--c-card: #f6f7f9;--c-border: rgba(0, 0, 0, .1);--c-ok: #1a9b55;--c-danger: #d6394a;--c-gold: #e8b923;--bg: var(--tg-bg, var(--c-bg));--bg2: var(--tg-bg2, var(--c-bg2));--text: var(--tg-text, var(--c-text));--hint: var(--tg-hint, var(--c-hint));--accent: var(--tg-button, var(--c-accent));--accent-text: var(--tg-button-text, var(--c-accent-text));--card: var(--tg-section, var(--c-card));--danger: var(--tg-danger, var(--c-danger));--radius: 14px;--safe-b: env(safe-area-inset-bottom, 0px);--roll-ms: 1.1s;color-scheme:light}:root[data-theme=dark]{--c-bg: #17191d;--c-bg2: #0f1114;--c-text: #f1f3f5;--c-hint: #9aa3af;--c-accent: #4c9bff;--c-card: #22252b;--c-border: rgba(255, 255, 255, .12);--c-ok: #3ccf82;--c-danger: #ff6b7a;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:16px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overscroll-behavior:none}h1{font-size:1.35rem;margin:.4rem 0}h2{font-size:1.1rem;margin:.8rem 0 .4rem}h3{font-size:1rem;margin:.6rem 0 .3rem}p{margin:.4rem 0}a{color:var(--tg-link, var(--accent))}code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;font-size:.8rem}.muted{color:var(--hint)}.small{font-size:.8rem}.center{text-align:center}.strong{font-weight:600}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ok{color:var(--c-ok);font-weight:600}.error-text{color:var(--danger)}.hint{color:var(--accent)}.grow{flex:1}.pad{padding:16px}.pad-x{padding:0 16px}.stack{display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.list>li.row{border-bottom:1px solid var(--c-border)}.center-fill{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:16px}.logo-dice{font-size:64px;line-height:1}.lock-big{font-size:48px}.link-btn{background:none;border:0;color:var(--accent);padding:8px;font:inherit;cursor:pointer}.app{display:flex;flex-direction:column;height:100%;max-width:560px;margin:0 auto;position:relative}.main{flex:1;overflow-y:auto;padding:8px 12px 16px}.screen{flex:1;display:flex;flex-direction:column;overflow:hidden}.screen-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:8px;border-bottom:1px solid var(--c-border)}.screen-head h1{text-align:center;font-size:1.05rem;margin:0}.screen-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.icon-btn{background:none;border:0;color:var(--text);font-size:1.4rem;width:44px;height:44px;cursor:pointer}.header{padding:8px 12px 4px;display:flex;flex-direction:column;gap:6px;background:var(--bg)}.header-row{display:flex;align-items:center;gap:8px}.avatar{position:relative;width:38px;height:38px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-text);font-weight:700;cursor:pointer}.dot{position:absolute;top:0;right:0;width:10px;height:10px;border-radius:50%;background:var(--danger);border:2px solid var(--bg)}.balance{font-size:1.3rem;font-weight:700;font-variant-numeric:tabular-nums;flex:1}.balance.pulse{animation:pulse 1s ease 2}.fr-chip,.boost-chip{padding:4px 8px;border-radius:999px;background:var(--card);font-size:.85rem;white-space:nowrap}.boost-chip{background:var(--c-gold);color:#3b2a00;font-weight:700}.jackpot-widget{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;width:100%;padding:8px 12px;border:1px solid var(--c-gold);border-radius:var(--radius);background:var(--card);color:var(--text);font:inherit;text-align:left;cursor:pointer}.jp-label{font-size:.8rem;color:var(--hint)}.jp-pool{font-weight:700;font-variant-numeric:tabular-nums}.series{font-size:.8rem;color:var(--hint)}.series.armed{color:var(--c-gold);font-weight:700}.jp-big{font-size:2rem;font-weight:800;text-align:center;color:var(--c-gold)}.tabbar{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--c-border);background:var(--bg);padding-bottom:var(--safe-b)}.tab{background:none;border:0;padding:8px 2px;color:var(--hint);font:inherit;font-size:.75rem;display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer}.tab.active{color:var(--accent);font-weight:700}.tab-icon{font-size:1.3rem}.tab-lock{font-size:.65rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 16px;border:0;border-radius:var(--radius);font:inherit;font-weight:600;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--c-border)}.btn-ghost{background:transparent;color:var(--accent)}.btn-danger{background:var(--danger);color:#fff}.btn-block{width:100%}.card{background:var(--card);border-radius:var(--radius);padding:12px;margin-bottom:10px;border:1px solid var(--c-border)}.teaser{border-style:dashed}button.card{width:100%;text-align:left;color:var(--text);font:inherit;display:flex;flex-direction:column;gap:2px;cursor:pointer}.spinner{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.spinner.big{width:36px;height:36px;color:var(--accent)}.badge{background:var(--danger);color:#fff;border-radius:999px;padding:0 6px;margin-left:6px;font-size:.75rem}.progress{height:8px;border-radius:4px;background:var(--c-border);overflow:hidden;margin:6px 0}.progress-fill{height:100%;background:var(--accent);transition:width .3s}.stage{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 0;min-height:150px}.dice-board{display:flex;gap:20px;justify-content:center;align-items:center;height:96px}.die{width:84px;height:84px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}.die.small{width:56px;height:56px}.dice-board.is-waiting .die{opacity:.75;animation:pulse 1s ease infinite}.dice-board.is-rolling .die-a{animation:tumble-a var(--roll-ms) ease-in-out}.dice-board.is-rolling .die-b{animation:tumble-b var(--roll-ms) ease-in-out}.result{text-align:center;min-height:52px}.result-main{font-size:1.25rem;font-weight:700}.result.win .result-main{color:var(--c-ok)}.seg{display:flex;gap:4px;background:var(--card);padding:3px;border-radius:var(--radius)}.seg-item{flex:1;background:none;border:0;padding:8px 4px;border-radius:10px;color:var(--text);font:inherit;cursor:pointer}.seg-item.active{background:var(--accent);color:var(--accent-text);font-weight:700}.seg-item:disabled{opacity:.5}.bet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-bottom:8px}.bet{display:flex;flex-direction:column;gap:2px;padding:10px 6px;border-radius:12px;border:2px solid var(--c-border);background:var(--bg);color:var(--text);font:inherit;text-align:center;cursor:pointer}.bet.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg))}.bet-name{font-weight:600;font-size:.9rem}.bet-meta{font-size:.75rem;color:var(--hint)}.stake-row{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.chip{min-width:44px;min-height:38px;padding:4px 8px;border-radius:999px;border:1px solid var(--c-border);background:var(--bg);color:var(--text);font:inherit;cursor:pointer}.chip.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.chip:disabled{opacity:.4}.stake-line{display:flex;justify-content:space-between;margin-bottom:8px}.prize-strip{display:flex;flex-wrap:wrap;gap:4px 12px;width:100%;background:none;border:0;color:var(--text);font:inherit;font-size:.85rem;padding:4px 0;cursor:pointer;text-align:left}.welcome{display:flex;flex-direction:column;gap:8px;padding:12px 0;flex:1;overflow-y:auto}.welcome-top{display:flex;justify-content:space-between;align-items:center;padding:0 16px}.welcome .card{margin:0 16px}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{padding:6px 4px;border-bottom:1px solid var(--c-border);text-align:left}.table th.num{text-align:right}.table caption{text-align:left;font-weight:600;padding:6px 0}.link-box{word-break:break-all;padding:8px;border-radius:10px;background:var(--bg);border:1px dashed var(--c-border);margin:8px 0;font-size:.85rem}.field{display:flex;flex-direction:column;gap:4px;margin:8px 0}.field input,.field select,.field textarea{padding:10px;border-radius:10px;border:1px solid var(--c-border);background:var(--bg);color:var(--text);font:inherit}.code-block{display:block;padding:8px;background:var(--bg);border-radius:8px}.kv{display:grid;grid-template-columns:1fr;gap:2px;margin:4px 0}.kv dt{color:var(--hint);font-size:.75rem;margin-top:6px}.kv dd{margin:0}.switch-row input{width:22px;height:22px}.check-row{justify-content:flex-start;text-align:left}.legal-links{font-size:.85rem}.age-gate{max-width:420px;margin:0 auto}.radio-list .row{justify-content:flex-start}.menu-item{width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 12px;background:var(--card);border:1px solid var(--c-border);border-radius:var(--radius);color:var(--text);font:inherit;cursor:pointer}.menu-item:disabled{opacity:.6}.task{display:flex;flex-direction:column;gap:4px}.task.claimed{opacity:.6}.task-title{font-weight:600}.task-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.task-actions{display:flex;gap:6px}.grid-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.skin{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;margin:0}.skin.equipped{border-color:var(--c-ok)}.skin-preview{background:none;border:0;padding:4px;cursor:pointer}.skin-name{font-weight:600;font-size:.9rem}.rarity-rare{box-shadow:inset 0 0 0 1px #4c9bff}.rarity-epic{box-shadow:inset 0 0 0 1px #b36bff}.rarity-legendary{box-shadow:inset 0 0 0 1px var(--c-gold)}.preview-dice{display:flex;gap:16px;justify-content:center;padding:16px}.kind-glyph{font-size:36px}.rank-list .row.me{background:color-mix(in srgb,var(--accent) 14%,transparent);border-radius:8px;padding-left:6px}.rank{width:28px;color:var(--hint)}.card.unread{border-color:var(--accent)}.toast{position:fixed;left:50%;bottom:calc(76px + var(--safe-b));transform:translate(-50%);max-width:90%;padding:10px 16px;border-radius:999px;background:#222;color:#fff;z-index:50;text-align:center;box-shadow:0 4px 16px #0000004d;animation:rise .25s ease}.toast-success{background:#1a7f4b}.toast-error{background:var(--danger)}.banner{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;font-size:.9rem;z-index:40}.banner-offline{background:#6b7280;color:#fff;justify-content:center}.banner-error{background:color-mix(in srgb,var(--danger) 18%,var(--bg));border-bottom:1px solid var(--danger)}.banner-actions{display:flex;align-items:center;gap:4px}.sheet-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:30}.sheet{width:100%;max-width:560px;max-height:85%;overflow-y:auto;background:var(--bg);border-radius:20px 20px 0 0;padding:8px 16px calc(16px + var(--safe-b));animation:rise .25s ease}.sheet-head{display:flex;justify-content:space-between;align-items:center}.sheet-head h2{margin:0}.big-line{font-size:1.4rem;font-weight:700;text-align:center}.golden-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 30%,#e8b92359,#000000d9);z-index:60;padding:16px}.golden{background:var(--bg);border:2px solid var(--c-gold);border-radius:20px;padding:20px;width:100%;max-width:380px;text-align:center;animation:rise .3s ease}.golden-dice{display:flex;gap:12px;justify-content:center;margin-bottom:8px}.golden-chance{font-size:1.3rem;font-weight:700;color:var(--c-gold)}.golden-win{font-size:1.6rem;font-weight:800;color:var(--c-ok)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{transform:scale(1.05);opacity:.85}}@keyframes rise{0%{transform:translate(var(--tx, 0),16px);opacity:0}}@keyframes tumble-a{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(-34px) rotate(200deg)}60%{transform:translateY(0) rotate(420deg)}80%{transform:translateY(-10px) rotate(520deg)}to{transform:translateY(0) rotate(720deg)}}@keyframes tumble-b{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(-28px) rotate(-240deg)}60%{transform:translateY(0) rotate(-400deg)}80%{transform:translateY(-8px) rotate(-500deg)}to{transform:translateY(0) rotate(-720deg)}}@media(prefers-reduced-motion:reduce){.dice-board.is-rolling .die-a,.dice-board.is-rolling .die-b,.dice-board.is-waiting .die{animation:none}}.fr-card{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;padding:8px}.fr-card .btn{flex:1;min-height:42px}.fr-card .prize-table{width:100%}.roll-bar{position:sticky;bottom:0;background:var(--card);padding:6px 0 2px}.die.tiny{width:26px;height:26px;filter:none}.dice-inline{display:inline-flex;gap:4px;vertical-align:middle}.member{display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--c-border);padding-bottom:6px}.field textarea{font:inherit;resize:vertical}
