:root{--bg: #f7f5ef;--surface: #fffdfa;--surface-soft: #f8fbff;--text: #17201b;--muted: #52635a;--border: #ded8cc;--border-strong: #c8c3b8;--primary: #1f6f5b;--primary-text: #ffffff;--shadow: rgba(23, 32, 27, .24);--divider: #eee8dd;--overlay: rgba(23, 32, 27, .42);--success-bg: #edf6f1;--success-border: #bad7c8;--danger-bg: #fdeaea;--danger-border: #e5b5b5;--danger-text: #5c1f1f;--die-bg: #f8fbff;--die-border: #c8d7e5;--die-pip: #17201b;--die-shadow: rgba(23, 32, 27, .1);--die-inset: rgba(23, 32, 27, .06);color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{--bg: #111715;--surface: #19211e;--surface-soft: #202b27;--text: #f4f1e9;--muted: #aebbb4;--border: #35423c;--border-strong: #4d5d55;--primary: #4fb391;--primary-text: #07110e;--shadow: rgba(0, 0, 0, .42);--divider: #2d3934;--overlay: rgba(0, 0, 0, .56);--success-bg: #183328;--success-border: #3f7b63;--danger-bg: #3b1f22;--danger-border: #7f444b;--danger-text: #ffdede;--die-bg: #edf4ee;--die-border: #dcebe3;--die-pip: #07110e;--die-shadow: rgba(0, 0, 0, .35);--die-inset: rgba(7, 17, 14, .08)}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select{font:inherit}button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}button:disabled{cursor:wait;opacity:.6}button:not(:disabled):hover{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}button:not(:disabled):active{transform:translateY(1px)}.shell{min-height:100vh;padding:24px}.topbar,.sectionHead{align-items:center;display:flex;justify-content:space-between;gap:16px}.eyebrow{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:0;margin:0 0 4px;text-transform:uppercase}h1,h2{margin:0}h1{font-size:clamp(32px,7vw,72px);line-height:.95}.brand{align-items:center;display:flex;gap:14px}.brand img{height:clamp(42px,8vw,74px);width:clamp(42px,8vw,74px)}.topActions{align-items:center;display:flex;gap:10px}.networkPicker{position:relative}.networkPill{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-soft) 88%,var(--primary) 12%),var(--surface));border:1px solid color-mix(in srgb,var(--border-strong) 70%,var(--primary) 30%);border-radius:999px;box-shadow:inset 0 1px #ffffff0f;display:inline-flex;gap:8px;justify-content:center;min-height:42px;padding:0 14px;white-space:nowrap}.networkPill span:not(.networkSpark){color:var(--primary);font-size:14px;font-weight:900}.networkSpark{background:var(--primary);border-radius:999px;box-shadow:0 0 16px var(--primary);height:8px;width:8px}.networkPill.mainnet .networkSpark{background:#58c7b7}.networkPill.devnet .networkSpark{background:#f4b84a}.networkPill.zeko .networkSpark{background:#b871ff}.networkMenu{background:color-mix(in srgb,var(--surface) 96%,transparent);border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 80px var(--shadow);display:grid;gap:10px;min-width:min(360px,calc(100vw - 28px));padding:14px;position:absolute;right:0;top:calc(100% + 10px);z-index:30}.networkMenu>strong{font-size:16px;padding:4px 6px 2px}.networkOption{align-items:center;background:var(--surface-soft);border:1px solid transparent;border-radius:14px;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) auto;min-height:76px;padding:14px;text-align:left}.networkOption span{display:grid;gap:5px;min-width:0}.networkOption span strong{font-size:16px;overflow-wrap:anywhere}.networkOption small{color:var(--muted);font-size:13px}.networkOption em{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--primary);font-size:14px;font-style:normal;font-weight:900;padding:9px 13px}.networkOption.devnet em{color:#c77d12}.networkOption.zeko em{color:#b871ff}.networkOption.active{background:color-mix(in srgb,var(--primary) 14%,var(--surface-soft));border-color:color-mix(in srgb,var(--primary) 42%,var(--border))}.compatibilityWarning{align-items:flex-start;border:1px solid var(--danger-border);border-radius:8px;display:flex;gap:12px;margin-top:18px;padding:14px}.compatibilityWarning.hard{background:var(--danger-bg);color:var(--danger-text)}.compatibilityWarning.soft{background:var(--success-bg);border-color:var(--success-border);color:var(--text)}.compatibilityWarning p,.compatibilityWarning ul{margin:6px 0 0}.compatibilityWarning ul{padding-left:18px}.inlineActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.compactSelect{align-items:center;border:1px solid var(--border-strong);border-radius:6px;color:var(--text);display:flex;gap:6px;min-height:42px;padding:0 8px}.compactSelect select{border:0;min-height:36px;padding:0 4px;width:auto}h2{font-size:18px}.layout{display:grid;gap:18px;grid-template-columns:minmax(260px,320px) minmax(360px,.75fr) minmax(360px,1.25fr);margin-top:24px}.leftColumn{display:grid;gap:18px;grid-template-rows:auto minmax(160px,1fr);min-height:520px}.settingsPanel{display:none}.panel,.games{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:18px}.panel{display:flex;flex-direction:column;gap:14px}.playerBlock,.newChallengeBlock{display:contents}.cardsShell .settingsPanel{display:none}.identityBox{border:1px solid var(--border);border-radius:8px;display:grid;gap:4px;padding:12px}.identityBox span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.identityBox strong{font-size:18px;overflow-wrap:anywhere}.balanceBox{border:1px solid var(--border);border-radius:8px;display:grid;gap:4px;padding:12px}.walletAddressBox{border:1px solid var(--border);border-radius:8px;display:grid;gap:6px;padding:12px}.walletAddressBox span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.walletAddressBox strong{font-size:13px;line-height:1.45;overflow-wrap:anywhere}.balanceBox span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.balanceBox strong{font-size:18px;overflow-wrap:anywhere}.balanceBox small{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.identityHead{align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto}.tinyIconButton{align-items:center;aspect-ratio:1;border-radius:6px;display:inline-flex;justify-content:center;min-height:32px;padding:0;width:32px}label{color:var(--muted);display:grid;gap:6px;font-size:13px;font-weight:700}input,select{background:var(--surface);border:1px solid var(--border-strong);color:var(--text);border-radius:6px;min-height:42px;padding:0 12px;width:100%}.primary,.iconButton{align-items:center;border-radius:6px;display:inline-flex;gap:8px;justify-content:center;min-height:42px;padding:0 14px}.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text);font-weight:800}.primary:not(:disabled):hover{background:color-mix(in srgb,var(--primary) 86%,var(--text) 14%);border-color:color-mix(in srgb,var(--primary) 82%,var(--text) 18%)}.secondaryButton,.ghostButton,.warningButton,.dangerButton{align-items:center;border-radius:6px;display:inline-flex;gap:8px;justify-content:center;min-height:42px;padding:0 14px;text-decoration:none}.secondaryButton{background:color-mix(in srgb,var(--surface-soft) 82%,var(--primary) 18%);border-color:color-mix(in srgb,var(--border-strong) 72%,var(--primary) 28%);color:var(--text);font-weight:800}.ghostButton{background:transparent;border-color:var(--border);color:var(--muted);font-weight:800}.warningButton{background:#fff4df;border-color:#d7a34c;color:#6d4308;font-weight:900}.dangerButton{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text);font-weight:900}.subtleButton{min-height:38px}[data-theme=dark] .warningButton{background:#3c2b12;border-color:#9f7331;color:#ffd58f}.actionLink{text-decoration:none}.walletActions{display:grid;gap:8px}.iconButton{aspect-ratio:1;padding:0;width:42px}.key,.notice,.empty,.timer{color:var(--muted);font-size:13px;line-height:1.45;margin:0;overflow-wrap:anywhere}.timer{color:var(--text);font-weight:800}.timeline{display:grid;gap:4px}.games{min-height:520px}.sectionHead span{color:var(--muted);font-size:13px}.sectionTools{align-items:center;display:inline-flex;gap:8px}.sectionTools .notificationButton{flex:0 0 auto}.detailTitleGroup{align-items:center;display:inline-flex;gap:8px;min-width:0}.appBackButton{display:none}.creditsBox{border:1px solid var(--border);border-radius:8px;display:grid;gap:8px;padding:12px}.creditsBox a,.creditsBox span{align-items:center;color:var(--text);display:flex;font-size:13px;gap:10px;overflow-wrap:anywhere;text-decoration:none}.creditsBox svg{color:var(--primary);flex:0 0 auto}.creditsBox a:hover{color:var(--primary)}.messagesPanel{min-height:0}.messageList{display:grid;gap:8px;max-height:360px;min-height:0;overflow:auto;padding-right:2px}.messageItem{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;line-height:1.45;margin:0;overflow-wrap:anywhere;padding:10px}.gameList{display:grid;gap:10px;margin-top:16px}.gameFilters{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));margin-top:16px}.searchInput{align-items:center;border:1px solid var(--border-strong);border-radius:6px;display:grid;gap:8px;grid-template-columns:auto 1fr;min-height:42px;padding:0 10px}.searchInput input{border:0;min-height:38px;padding:0}.gameCard{background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);cursor:pointer;display:grid;gap:6px;min-height:96px;padding:14px;text-align:left}.gameCard:hover{border-color:var(--primary)}.gameCardHead{align-items:start;display:flex;gap:8px;justify-content:space-between}.gameCardMeta{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px;min-width:0}.gameId{color:var(--muted);font-size:12px;font-weight:900}.gameCard.selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.gameCard strong{font-size:18px}.gameCard small{color:var(--muted)}.notificationButton{align-items:center;background:transparent;border:1px solid var(--border-strong);border-radius:6px;color:var(--muted);display:inline-flex;height:30px;justify-content:center;min-height:30px;padding:0;width:30px}.notificationButton.active{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.detailTools{align-items:center;display:inline-flex;gap:8px}.playersLine{align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.playersLine strong,.playerResult{align-items:center;display:inline-flex;gap:6px;min-width:0;overflow-wrap:anywhere}.playerResult .tinyIconButton{flex:0 0 auto}.playersLine span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.revealDots{align-items:center;display:flex;gap:6px}.revealDot{background:var(--surface-soft);border:1px solid var(--border-strong);border-radius:999px;height:12px;width:12px}.revealDot.done{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.resultIcon{flex:0 0 auto}.winnerIcon{color:#b98212}.mutedIcon{color:var(--muted)}.pagination{align-items:center;display:grid;gap:10px;grid-template-columns:1fr auto 1fr;margin-top:16px}.pagination button{border-radius:6px;min-height:38px;font-weight:800}.actions button:not(.primary):not(.secondaryButton):not(.warningButton):not(.dangerButton):not(.ghostButton),.modalActions button:not(.primary):not(.secondaryButton):not(.warningButton):not(.dangerButton):not(.ghostButton),.inlineActions button:not(.primary):not(.secondaryButton):not(.warningButton):not(.dangerButton):not(.ghostButton),.missingSecretActions button:not(.primary):not(.secondaryButton):not(.warningButton):not(.dangerButton):not(.ghostButton),.pagination button{background:color-mix(in srgb,var(--surface-soft) 90%,var(--primary) 10%);border-color:color-mix(in srgb,var(--border-strong) 78%,var(--primary) 22%);color:var(--text)}.pagination span{color:var(--muted);font-size:13px;font-weight:800}.status{border-radius:999px;color:#fff;font-size:11px;font-weight:800;justify-self:start;padding:4px 8px}.status.created{background:#246b9a}.status.pending_signature{background:#52635a}.status.joined,.status.join_pending,.status.player_one_revealed,.status.player_two_revealed{background:#8b5a18}.status.settled{background:#1f6f5b}.status.refunded{background:#6f4aa0}.status.failed{background:#b23b3b}dl{display:grid;gap:12px;margin:8px 0}dl div{border-bottom:1px solid var(--divider);display:grid;gap:4px;padding-bottom:10px}dt{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}dd{margin:0;overflow-wrap:anywhere}.hashLink{color:var(--primary);font-weight:800;overflow-wrap:anywhere;text-decoration:none}.hashLink:hover{text-decoration:underline}.txLine{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.txAction{border-radius:999px;font-size:11px;font-weight:900;min-height:24px;padding:0 9px}.txBadge{border-radius:999px;display:inline-flex;font-size:11px;font-weight:900;margin-left:8px;padding:3px 7px;vertical-align:middle}.txBadge.included{background:#edf6f1;color:#1f6f5b}.txBadge.pending{background:#fff4df;color:#8b5a18}.txBadge.unknown{background:#eef1f4;color:#52635a}.txBadge.failed{background:#fdeaea;color:#b23b3b}.actions{display:grid;gap:10px}.compactActions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.detailWide{grid-column:1 / -1}.missingSecretActions{align-items:center;display:grid;gap:10px;grid-template-columns:1fr repeat(2,minmax(96px,auto))}.qrVideo{aspect-ratio:1;background:var(--bg);border:1px solid var(--border);border-radius:8px;object-fit:cover;width:100%}.dice{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(72px,1fr));perspective:700px}.dieFace{align-items:center;aspect-ratio:1;background:var(--die-bg);border:1px solid var(--die-border);border-radius:8px;box-shadow:inset -8px -10px 0 var(--die-inset),0 10px 20px var(--die-shadow);color:var(--die-pip);display:grid;font-size:30px;font-weight:900;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);justify-items:center;padding:18%;transform-style:preserve-3d}.pip{align-self:center;background:transparent;border-radius:999px;display:block;height:11px;width:11px}.pip.visible{background:var(--die-pip);box-shadow:inset 1px 1px #fff3}.dice.rolling .dieFace{animation:roll .72s cubic-bezier(.23,1,.32,1) infinite}@keyframes roll{0%{transform:translateY(0) rotateX(0) rotateY(0) rotate(0)}35%{transform:translateY(-16px) rotateX(160deg) rotateY(90deg) rotate(-8deg)}70%{transform:translateY(5px) rotateX(270deg) rotateY(210deg) rotate(12deg)}to{transform:translateY(0) rotateX(360deg) rotateY(360deg) rotate(0)}}.modalBackdrop,.workOverlay{align-items:center;background:var(--overlay);display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed;z-index:20}.modal,.workPanel{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 24px 80px var(--shadow);display:grid;gap:14px;max-width:420px;padding:20px;width:100%}.workPanel{max-width:520px}.modalHeader{align-items:center;display:flex;gap:12px;justify-content:space-between}.modalHeader h2{margin:0}.secretModal{justify-items:center;max-width:380px;padding:20px 18px 14px;position:relative}.secretCloseButton{position:absolute;right:10px;top:10px}.secretQr{background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #00000029;height:220px;padding:10px;width:220px}.secretCopyBox{align-items:center;border:1px solid var(--border);border-radius:8px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:8px 10px;width:100%}.secretCopyBox code{display:grid;font-size:11px;gap:4px;line-height:1.35;max-width:100%;overflow:hidden;-webkit-user-select:all;user-select:all}.secretCopyBox code span{display:block;font-variant-numeric:tabular-nums;overflow:hidden;text-align:justify;text-align-last:justify;white-space:nowrap}.modalActions{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.manualSignatureBox{border:1px solid var(--border);border-radius:8px;display:grid;gap:10px;padding:12px}.progress{background:#e9e4d8;border-radius:999px;height:10px;overflow:hidden}.progress span{background:#1f6f5b;display:block;height:100%;transition:width .25s ease}.winner{align-items:center;background:var(--success-bg);border:1px solid var(--success-border);border-radius:8px;color:var(--text);display:grid;gap:8px;padding:14px}.winner strong{overflow-wrap:anywhere}.failedBox{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.appShell{min-height:100vh;padding-bottom:92px}.appShell .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;margin:0 auto;max-width:620px}.appShell .topActions{align-self:start;justify-self:end;flex-wrap:nowrap;justify-content:flex-end}.appShell .brand img{height:48px;width:48px}.appShell h1{font-size:42px}.appShell .layout{display:block;margin:18px auto 0;max-width:620px}.appShell .leftColumn{display:contents}.appShell .panel,.appShell .games{min-height:calc(100vh - 190px)}.appShell .playerPanel,.appShell .gamesPanel,.appShell .detailPanel,.appShell .messagesPanel,.appShell .settingsPanel{display:none}.appShell[data-app-screen=player] .playerPanel,.appShell[data-app-screen=new] .playerPanel,.appShell[data-app-screen=games] .gamesPanel,.appShell[data-app-screen=detail] .detailPanel,.appShell[data-app-screen=messages] .messagesPanel,.appShell[data-app-screen=settings] .settingsPanel{display:flex;flex-direction:column}.appShell[data-app-screen=games] .gamesPanel,.appShell[data-app-screen=detail] .detailPanel{flex-direction:column}.appShell .gamesPanel .sectionHead{align-items:center}.appShell .gameFilters{grid-template-columns:1fr;margin-top:14px}.appShell .gameFilters label{min-width:0}.appShell .gameList{align-content:start}.appShell .gameCard{min-height:0}.appShell[data-app-screen=player] .newChallengeBlock,.appShell[data-app-screen=new] .playerBlock{display:none}.appShell[data-app-screen=player] .playerBlock,.appShell[data-app-screen=new] .newChallengeBlock{display:grid;gap:14px}.appShell .playerNetworkSelect{display:none}.appShell .messageList{max-height:none}.appShell .appBackButton{display:inline-flex}.bottomNav{align-items:center;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--border);border-radius:18px 18px 0 0;bottom:0;box-shadow:0 -14px 40px var(--shadow);display:grid;gap:4px;grid-template-columns:repeat(5,minmax(0,1fr));left:50%;max-width:620px;padding:8px;position:fixed;transform:translate(-50%);width:min(100%,620px);z-index:15}.bottomNav button{align-items:center;border:0;border-radius:10px;display:grid;gap:3px;justify-items:center;min-height:58px;padding:6px 4px}.bottomNav button.active{background:var(--primary);color:var(--primary-text)}.bottomNav span{font-size:11px;font-weight:800}@media (max-width: 1120px){.layout{grid-template-columns:1fr}}@media (max-width: 640px){.shell{padding:16px}.topbar{align-items:flex-start}.appShell{padding:18px 14px 96px}.appShell .topbar{display:grid;align-items:center;gap:10px;grid-template-columns:minmax(0,1fr) minmax(116px,148px);max-width:100%}.appShell .eyebrow{font-size:10px;line-height:1.15;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appShell .brand{gap:6px;min-width:0}.appShell .brand img{height:34px;width:34px}.appShell h1{font-size:31px;line-height:.9}.appShell .topActions{display:block;justify-self:end;width:100%}.appShell .networkPill{width:100%;min-width:0;gap:5px;min-height:32px;padding:0 7px}.appShell .networkPill span:not(.networkSpark){font-size:11px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;width:100%}.appShell .networkSpark{height:6px;width:6px}.appShell .networkMenu{left:14px;min-width:0;max-height:calc(100vh - 86px);overflow:auto;position:fixed;right:14px;top:86px;width:auto}.appShell .networkOption{gap:8px;min-height:58px;padding:10px}.appShell .networkOption span strong{font-size:14px}.appShell .networkOption small{font-size:11px}.appShell .networkOption em{font-size:11px;padding:7px 8px}.appShell .compactSelect{gap:4px;min-height:32px;padding:0 6px}.appShell .compactSelect select{font-size:11px;padding:0;width:34px}.appShell .compactSelect svg{height:13px;width:13px}.appShell .iconButton{min-height:32px;width:32px}.appShell .iconButton svg,.appShell .networkPill svg{height:13px;width:13px}.gameFilters{grid-template-columns:1fr}}
