@charset "UTF-8";
/* IMMUNE — gold, graphite and clear game surfaces. */
@font-face{font-family:IMMUNESans;src:local('Inter'),local('Segoe UI'),local('Arial');font-display:swap}
:root{color-scheme:dark;--bg:#181a20;--surface:#1e2329;--raised:#2b3139;--header:#181a20;--line:#343a43;--text:#eaecef;--muted:#a1a8b3;--gold:#f0b90b;--action:#fcd535;--gold-soft:#f0b90b12;--green:#2fce9d;--red:#f87987;--shadow:0 16px 48px #0002;--board:#171a20;--tile:#343b46;--tile-edge:#14171c;--tone-gold:#f0b90b;--tone-green:#2fce9d;--tone-red:#f87987;--tone-blue:#6fb7ff;--tone-violet:#b39dff;--tone-orange:#f0862b;--tone-cyan:#4dd0e1;--tone-grey:#a1a8b3;font:15px/1.5 IMMUNESans,Inter,'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}[hidden]{display:none!important}html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.48}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:is([type=checkbox],[type=radio],[type=range]):focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}::selection{background:#f0b90b44}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.2;letter-spacing:-1px;font-weight:750}h2{font-size:20px;letter-spacing:-.4px;font-weight:650}h3{font-size:15px;font-weight:650}p{margin-bottom:16px}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}#main:focus{outline:none}.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.small{font-size:12px}.tiny{font-size:11px}.subtext,.muted{color:var(--muted)}.subtext{font-size:13px;line-height:1.8;margin:9px 0 0}.gold{color:var(--gold)}.positive{color:var(--green)}.negative{color:var(--red)}.mono,code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;font-size:12px}.nowrap{white-space:nowrap}.mt{margin-top:24px}.mb{margin-bottom:24px}.divider{height:1px;background:var(--line);margin:24px 0}.eyebrow{font-size:11px;letter-spacing:2.1px;color:var(--gold);font-weight:650;margin-bottom:12px;text-transform:uppercase}
/* Common controls */
.button,.game-card-action{display:inline-flex;justify-content:center;align-items:center;gap:9px;background:var(--raised);border:1px solid var(--line);border-radius:7px;padding:12px 20px;min-height:44px;font-size:13px;font-weight:650;transition:background .15s,border-color .15s}
.button:hover{background:var(--line)}.button.primary,.game-card-action,.button.green{background:var(--action);color:#181a20;border-color:var(--action)}.button.primary:hover,.game-card-action:hover,.button.green:hover{background:#ffe05c;border-color:#ffe05c}.button.danger{color:var(--red);border-color:#b73b4d60;background:transparent}.button.ghost{background:transparent}.button.ghost:hover{background:var(--raised)}.button.small{padding:9px 14px;font-size:12px;min-height:37px}.button.full{width:100%}.button .icon{width:17px;height:17px}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;border-radius:8px;width:38px;height:38px}.icon-button:hover{background:var(--raised)}.icon-button .icon{width:19px;height:19px}.text-link{color:var(--gold);font-size:12px;border:0;background:transparent;padding:0;cursor:pointer}.text-link:hover{text-decoration:underline}.field{display:block;margin-bottom:21px}.field>span,.field>label,label.label{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-bottom:8px}input,select,textarea{width:100%;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:12px 14px;color:var(--text);font-size:16px}input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}textarea{min-height:108px;line-height:1.8;resize:vertical}input[type=checkbox]{width:17px;height:17px;accent-color:var(--action)}.check-label{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.8;color:var(--muted);margin:19px 0}.check-label input{flex-shrink:0;margin-top:4px}.field-hint{color:var(--muted);font-size:11px;line-height:1.75;margin-top:7px}.form-error{font-size:12px;color:var(--red);line-height:1.7;margin-bottom:14px}.form-error:empty{display:none}.input-action{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:7px;overflow:hidden}.input-action:has(input:focus){border-color:var(--gold)}.input-action input{border:0;border-radius:0;min-width:0}.input-action button{border:0;border-left:1px solid var(--line);padding:0 14px;background:var(--raised);font-size:12px}.input-action .suffix{display:flex;align-items:center;padding:0 14px;color:var(--muted);font-size:12px}
/* One navigation, aligned with the content. */
.topbar{height:78px;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:32px;padding:0 36px;background:var(--header);border-bottom:1px solid var(--line)}.top-left,.top-actions{display:flex;align-items:center;gap:12px}.top-left{flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:25px;letter-spacing:2.1px}.brand img{width:38px;height:38px}.brand span{color:var(--text)}.desktop-nav{display:flex;align-items:stretch;gap:25px;height:100%;margin-right:auto}.nav-link{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:550;font-size:13px;position:relative}.desktop-nav .nav-link .icon{display:none}.desktop-nav .nav-link:hover{color:var(--text)}.desktop-nav .nav-link.active{color:var(--gold)}.desktop-nav .nav-link.active:after{content:'';position:absolute;bottom:-1px;left:0;right:0;background:var(--gold);height:3px}.top-actions{margin-left:auto;gap:10px}.profile-link{color:var(--muted)}.profile-link:hover{color:var(--text)}.profile-link.active{color:var(--gold)}[data-nav][aria-disabled="true"]{opacity:.45;pointer-events:none}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;height:38px;width:38px;border-radius:50%;background:var(--raised);color:var(--muted);font-size:14px;font-weight:600}.avatar .icon{width:19px;height:19px}.avatar.small{height:31px;width:31px}.mobile-nav{display:none}main{padding:38px 36px 30px;min-height:calc(100vh - 78px)}.content{max-width:1160px;margin:0 auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px}.page-heading>.button{flex-shrink:0}.page-heading .eyebrow:empty{display:none}.footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;border-top:1px solid var(--line);padding-top:22px;margin-top:35px;font-size:11px;color:var(--muted)}
/* The lobby is one cinematic game entry, followed by actual player activity. */
.lobby-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:420px;border:1px solid #363941;border-radius:16px;overflow:hidden;background:#17191d;color:#f2f3f5}.hero-copy{position:relative;z-index:2;padding:43px 46px;width:53%}.hero-copy .eyebrow{color:#b39dff;margin-bottom:19px}.hero-copy h1{font-size:clamp(39px,4.5vw,61px);line-height:1.02;font-weight:800;letter-spacing:-2.1px;max-width:480px;margin-bottom:17px}.hero-copy>p{font-size:14px;line-height:1.8;color:#bfc3cc;max-width:335px;margin:0 0 28px}.hero-art{position:absolute;z-index:0;inset:0}.hero-art img{height:100%;width:100%;object-fit:cover;object-position:center}.lobby-hero:after{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#17191df5 0%,#17191dbb 32%,#17191d44 54%,transparent 76%);pointer-events:none}.hero-game-meta{display:flex;align-items:center;gap:17px;margin-bottom:21px}.hero-game-meta h2{font-size:20px;font-weight:650;letter-spacing:0}.hero-game-meta>span{border-left:1px solid #50535b;padding-left:17px;color:#bfc3cc;font-size:12px}.hero-copy .game-card-action{min-width:156px;gap:28px}.hero-details{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:11px;color:#bfc3cc;margin-top:27px}.hero-details>span{display:flex;gap:7px;align-items:center}.hero-details .icon{height:16px;width:16px;color:#f0b90b}.hero-details .token-icon{width:19px;height:19px}.live-label{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.lobby-lower{margin-top:30px}.lobby-lower .live-panel{background:transparent;border:0;padding:0}.lobby-lower .panel-heading{margin-bottom:18px}.lobby-lower .panel-heading h2{font-size:19px}.live-panel .empty{border:1px solid var(--line);border-radius:12px;padding:31px 18px;background:var(--surface)}.live-panel .empty>.icon{height:26px;width:26px;margin-bottom:11px}.token-icon{width:24px;height:24px;vertical-align:middle;object-fit:contain}
/* Shared data surfaces */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:27px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:17px;margin-bottom:23px}.panel-heading h2{font-size:17px}.panel-heading>.icon{color:var(--gold)}.stack{display:grid;gap:24px}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.grid-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.stat-card{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:11px;min-width:0}.stat-card .label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px;margin-bottom:11px}.stat-card .label .icon{width:16px;height:16px}.stat-card strong{font-size:27px;font-weight:650;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.stat-card small{display:block;color:var(--muted);font-size:11px;margin-top:7px}.big-number{font-size:39px;font-weight:650;letter-spacing:-1.2px;font-variant-numeric:tabular-nums}.currency{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:5px}.empty{text-align:center;padding:42px 18px;color:var(--muted)}.empty>.icon{height:29px;width:29px;opacity:.6;margin-bottom:15px}.empty h3{font-size:14px;font-weight:500;color:var(--text)}.empty p{font-size:12px;line-height:1.8;max-width:390px;margin:7px auto 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left}th{color:var(--muted);font-size:11px;font-weight:500;padding:15px 14px;border-bottom:1px solid var(--line)}td{font-size:13px;padding:18px 14px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}td .button{font-size:12px}td .avatar{height:33px;width:33px}.status{display:inline-flex;align-items:center;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500;text-transform:capitalize;background:var(--raised);color:var(--muted)}.status.won,.status.credited,.status.solidified,.status.paid,.status.active,.status.healthy,.status.ok{background:#2fce9d12;color:var(--green)}.status.pending,.status.review,.status.confirming,.status.approved,.status.detected,.status.awaiting{background:var(--gold-soft);color:var(--gold)}.status.lost,.status.rejected,.status.error,.status.frozen{background:#f8798712;color:var(--red)}.tabs{display:flex;gap:27px;border-bottom:1px solid var(--line);margin-bottom:27px;overflow:auto;max-width:100%}.tabs button,.tabs a{background:transparent;border:0;border-bottom:3px solid transparent;padding:0 0 13px;color:var(--muted);font-size:14px;white-space:nowrap}.tabs .active{border-color:var(--gold);color:var(--text)}.notice{background:var(--gold-soft);border:1px solid #f0b90b25;border-radius:8px;padding:14px 16px;font-size:12px;line-height:1.8}.notice .icon{color:var(--gold);width:17px;height:17px;margin-right:8px}.notice.error{border-color:#f8798740;background:#f8798710}.notice.neutral{background:var(--raised);border-color:var(--line);color:var(--muted)}.notice p{margin:8px 0 0}
/* Mines keeps actual financial and fairness states. */
.game-back-row{margin-bottom:19px}.game-back{border:0;padding:0;min-height:30px;background:transparent;color:var(--muted);font-weight:400}.game-back:hover{background:transparent;color:var(--text)}.game-back .icon{width:17px;height:17px}.tile{aspect-ratio:1;display:flex;align-items:center;justify-content:center;min-width:0;border:1px solid #71778335;border-bottom:4px solid var(--tile-edge);border-radius:9px;background:linear-gradient(145deg,var(--tile),var(--raised));box-shadow:0 3px 0 #0002;transition:transform .15s,border-color .15s,background .15s}.tile:disabled{opacity:1}.tile .icon{width:26px;height:26px;color:var(--muted);opacity:.32}.tile:not(:disabled):hover{transform:translateY(-2px);border-color:var(--gold);background:var(--raised)}.tile.safe{background:#604c13;border-color:#d6a718;border-bottom-color:#302409}.tile.safe .icon{color:#ffe07b;opacity:1;width:34px;height:34px;filter:drop-shadow(0 0 8px #f0b90b44)}.tile.mine{background:#582d38;border-color:#9d4c5d;border-bottom-color:#311c25}.tile.mine .icon{color:#ff9aa6;opacity:1}.tile.hit{background:#7e3041}.tile.covered-settled{opacity:.55}.round-result{width:100%;max-width:440px;border-radius:8px;padding:13px 16px;background:var(--gold-soft);font-size:12px;text-align:center;margin-bottom:20px}.round-result.won{background:#2fce9d15;color:var(--green)}.round-result.lost{background:#f8798715;color:var(--red)}.seed-content{display:grid;gap:17px}.seed-details{margin-top:23px}.seed-details summary{cursor:pointer;color:var(--muted);font-size:12px}.seed-details .seed-content{margin-top:17px;padding:20px;background:var(--surface);border-radius:8px}.seed-row>span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.seed-row code{font-size:12px}
/* A quiet wallet: balance, three actions, one asset. */
.wallet-usd-reference{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}.wallet-quick-actions{display:flex;gap:35px;padding:0 0 31px}.wallet-action{display:inline-flex;flex-direction:column;align-items:center;gap:11px;min-width:68px;color:var(--text);font-size:13px}.wallet-action>span:first-child,.wallet-action>.icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid #343a43;border-radius:50%;background:var(--raised);transition:background .15s,border-color .15s}.wallet-action>span:first-child>.icon{width:23px;height:23px}.wallet-action>.icon{padding:14px}.wallet-action:hover>span:first-child,.wallet-action:hover>.icon{background:#3c4149;border-color:var(--gold)}.wallet-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:24px}.wallet-history-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.wallet-history-header h2{font-size:18px}
.withdrawal-quote{background:var(--bg);border-radius:8px;padding:16px 19px;margin:19px 0}.withdrawal-quote>div{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;margin:9px 0}.withdrawal-quote strong{font-weight:550}.withdrawal-quote .net{border-top:1px solid var(--line);padding-top:14px;margin-top:15px}.withdrawal-quote .net strong{color:var(--gold)}.address-box{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:16px;overflow-wrap:anywhere}.address-box .row{justify-content:space-between;margin-bottom:9px}.address-box code{font-size:12px}.deposit-step{display:flex;align-items:flex-start;gap:15px;font-size:12px;color:var(--muted);line-height:1.8;margin-top:25px}.deposit-step h3{font-size:14px;color:var(--text);margin-bottom:6px}.step-number{height:25px;width:25px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;border:1px solid var(--line);font-size:11px;color:var(--gold)}
/* Wallet details and assigned game layout. */
.wallet-usd-reference>span{font-size:11px;color:var(--muted)}.wallet-action>strong{font-weight:500}.wallet-reserved{color:var(--muted);font-size:12px;margin:-6px 0 22px}.wallet-flow{max-width:620px}.wallet-flow .panel{padding:29px}.withdrawable-amount{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;padding-bottom:23px;margin-bottom:23px;border-bottom:1px solid var(--line)}.withdrawable-amount>span{color:var(--muted)}.withdrawable-amount>strong{font-weight:550}.wallet-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.transfer-list{display:grid}.transfer-row{display:flex;align-items:center;gap:13px;padding:19px 0;background:transparent;border:0;border-bottom:1px solid var(--line);width:100%;text-align:left}.transfer-row:last-child{border:0}.transfer-row:hover .transfer-symbol{border-color:var(--gold);color:var(--gold)}.transfer-symbol{height:37px;width:37px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--muted)}.transfer-symbol .icon{width:18px;height:18px}.transfer-copy{min-width:0}.transfer-copy strong,.transfer-value strong{display:block;font-size:13px;font-weight:500}.transfer-copy small{font-size:11px;color:var(--muted);display:block;margin-top:5px}.transfer-value{margin-left:auto;text-align:right;flex-shrink:0}.transfer-value .status{margin-top:6px;font-size:10px}.transfer-row>.icon{color:var(--muted);width:15px;height:15px;flex-shrink:0}.transfer-detail-amount{font-size:32px;font-weight:600;margin:20px 0 9px;letter-spacing:-.6px}.transfer-detail-amount>span{font-size:14px;font-weight:450;color:var(--muted)}.terms-dialog .reading{margin-bottom:24px}.terms-dialog .reading h3{font-size:14px}.terms-dialog .reading p{font-size:12px;line-height:1.85}
@media(max-width:700px){.wallet-flow .panel{padding:23px}.wallet-history-grid{grid-template-columns:1fr;gap:20px}.withdrawable-amount{font-size:12px}}
@media(max-width:360px){.transfer-row{gap:8px}.transfer-copy small{font-size:10px}.transfer-copy strong,.transfer-value strong{font-size:12px}.transfer-symbol{width:29px;height:29px}.transfer-row>.icon{display:none}}
.deposit-requests{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.deposit-requests>summary{cursor:pointer;list-style-position:inside;font-size:12px;color:var(--muted);line-height:1.8}.deposit-requests>summary:hover{color:var(--text)}.deposit-requests[open]>summary{margin-bottom:12px;color:var(--text)}
/* Names and badges form a single identity line. */
.profile-banner{display:flex;align-items:center;gap:22px;padding:15px 0 34px;margin-bottom:28px;border-bottom:1px solid var(--line)}.profile-banner>.avatar{width:76px;height:76px;background:var(--raised);color:var(--gold)}.profile-banner>.avatar .icon{height:30px;width:30px}.profile-identity{min-width:0;flex:1}.identity-line{display:flex;align-items:center;gap:11px;flex-wrap:wrap;min-width:0}.identity-line h1,.identity-line h2{font-size:29px;font-weight:650;letter-spacing:-.6px;overflow-wrap:anywhere;margin:0}.profile-identity>p{margin:9px 0 0;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.profile-meta{font-size:12px;color:var(--muted);text-align:right;line-height:1.8}.profile-meta strong{display:block;color:var(--text);font-weight:450}.profile-badges{display:inline-flex;align-items:center;gap:3px;flex-shrink:0}.profile-badge{position:relative;width:30px;height:32px;padding:5px;display:inline-flex;justify-content:center;align-items:center;background:transparent;border:0;border-radius:5px;color:#717986}.profile-badge .icon{width:20px;height:20px}.profile-badge:hover{background:var(--raised)}.profile-badge.earned{color:var(--gold);opacity:1}.profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.profile-layout{align-items:start}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:23px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border:0;padding-bottom:0}.setting-row h3{font-size:14px}.setting-row p{font-size:12px;color:var(--muted);line-height:1.8;margin:6px 0 0}.setting-row .setting-copy{flex:1;min-width:0}.setting-row>.icon{color:var(--gold)}.setting-row .button{white-space:nowrap}.player-identity{display:flex;align-items:center;gap:11px}.player-copy{min-width:0}.player-copy .identity-line{gap:5px;flex-wrap:nowrap}.player-name{font-size:13px;font-weight:600;max-width:190px;overflow:hidden;text-overflow:ellipsis}.player-copy>small,.player-copy>.muted{font-size:11px;color:var(--muted)}.player-identity .profile-badge{width:26px;height:30px;padding:4px}.player-identity .profile-badge .icon{width:17px;height:17px}.badge-dialog{text-align:center}.badge-dialog-emblem{display:flex;align-items:center;justify-content:center;margin:0 auto 19px;color:var(--gold)}.badge-dialog-emblem .icon{height:45px;width:45px}.badge-dialog .notice{margin:20px 0}.badge-rank{width:29px;height:29px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:var(--gold-soft);color:var(--gold);font-size:12px}
/* Account and persistent dialogs */
.auth-gate{max-width:650px;margin:25px auto;padding:65px 30px;text-align:center}.auth-gate>.icon{height:36px;width:36px;color:var(--gold);margin-bottom:21px}.auth-gate h2{font-size:25px;margin-bottom:13px}.auth-gate p{font-size:13px;line-height:1.9;color:var(--muted);max-width:445px;margin:0 auto}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq details:first-child{padding-top:0}.faq details:last-child{border:0;padding-bottom:0}.faq summary{cursor:pointer;font-size:14px;font-weight:550}.faq details p{font-size:13px;color:var(--muted);line-height:1.9;margin:14px 0 0;max-width:850px}.reading p,.reading li{color:var(--muted);font-size:13px;line-height:1.9}.reading h3{margin:24px 0 9px}.reading ul{padding-left:20px}dialog{max-width:555px;width:calc(100% - 32px);max-height:calc(100dvh - 50px);background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:0 25px 100px #0005}dialog::backdrop{background:#0d0f14bc;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:17px;top:16px;width:31px;height:31px;font-size:23px;color:var(--muted)}dialog h2{font-size:26px;line-height:1.25;margin:9px 26px 15px 0}dialog p{font-size:13px;line-height:1.85;color:var(--muted)}dialog .modal-icon{display:inline-flex;background:var(--gold-soft);color:var(--gold);padding:12px;border-radius:10px;margin-bottom:12px}dialog .modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}#notice-dialog{max-width:430px}#notice-dialog h2{font-size:23px}#notice-dialog p{white-space:pre-line;overflow-wrap:anywhere}#notice-dialog.error .modal-icon{background:#f8798710;color:var(--red)}#notice-dialog .modal-actions .button{min-width:110px}.terms-details{margin:18px 0;border:1px solid var(--line);border-radius:8px;padding:15px 17px}.terms-details summary{cursor:pointer;font-size:13px;color:var(--text)}.terms-details li,.terms-details p{font-size:12px;color:var(--muted);line-height:1.8}.terms-details ul{padding-left:18px;margin-bottom:0}.phrase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:21px 0}.phrase-word{display:flex;align-items:center;gap:8px;font-size:12px;padding:10px 8px;background:var(--bg);border:1px solid var(--line);border-radius:6px;min-width:0;overflow-wrap:anywhere}.phrase-word small{font-size:11px;color:var(--muted)}.release-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin-bottom:22px;font-size:12px}.connection-state{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.connection-state.offline{color:var(--red)}.dot{height:6px;width:6px;display:inline-block;border-radius:50%;background:var(--green)}.connection-state.offline .dot{background:var(--red)}.loading{padding:90px 20px;text-align:center;color:var(--muted);font-size:13px}.spinner{display:inline-block;width:23px;height:23px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.error-screen{max-width:650px;margin:70px auto}.error-screen h1{margin-bottom:18px}.error-screen code{background:var(--raised);padding:6px 9px;border-radius:5px}
/* The private console shares tokens while retaining its own navigation. */
.admin-app .topbar{position:fixed;left:0;right:0;justify-content:space-between}.admin-label{font-size:11px;color:var(--muted);border-left:1px solid var(--line);padding-left:20px;margin-left:8px}.mode-tag{font-size:11px;padding:5px 9px;color:var(--gold);background:var(--gold-soft);border-radius:5px}.admin-app .sidebar{position:fixed;left:0;top:78px;bottom:0;width:218px;display:flex;flex-direction:column;padding:27px 17px;background:var(--header);border-right:1px solid var(--line);z-index:20}.sidebar .nav-link{padding:12px 13px;gap:12px;border-radius:6px;margin-bottom:5px}.sidebar .nav-link:hover{background:var(--raised)}.sidebar .nav-link.active{background:var(--gold-soft);color:var(--gold)}.nav-label{font-size:11px;letter-spacing:1px;color:var(--muted);padding:0 12px;margin-bottom:17px}.sidebar-bottom{margin-top:auto}.sidebar-footer{font-size:11px;color:var(--muted);text-align:center}.network-card{padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:12px 0}.network-card strong{font-size:11px}.network-card p{font-size:11px;color:var(--muted);line-height:1.8;margin:7px 0 0}.admin-app main{margin:78px 0 0 218px}.admin-login{max-width:440px;margin:70px auto}.admin-login .brand{margin-bottom:30px}.admin-login h1{font-size:27px}.chart{width:100%;height:220px;overflow:visible}.chart text{font-size:11px;fill:var(--muted)}.chart-grid{stroke:var(--line);stroke-dasharray:3 5}.chart-legend{display:flex;gap:19px;font-size:11px;color:var(--muted);margin-top:20px}.chart-legend i{width:7px;height:7px;display:inline-block;border-radius:50%;background:#f0b90b;margin-right:7px}.chart-legend i.green{background:var(--green)}.health-list{display:grid;gap:19px}.health-list>div{display:flex;justify-content:space-between;gap:17px;font-size:13px}.health-list small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.detail-grid label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.search-box{max-width:290px}.search-box input{padding:9px 12px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.admin-toolbar h2{font-size:18px}.danger-zone{border-color:#f8798750}.secret-box{padding:18px;background:#f8798709;border:1px solid #f8798740;border-radius:8px;color:var(--red);overflow-wrap:anywhere;font-size:12px;margin:21px 0}.control-inline{display:flex;align-items:center;gap:10px}.count{font-size:11px;padding:3px 7px;border-radius:5px;background:var(--raised);color:var(--muted)}.badge-state{font-size:11px}.badge-emblem .icon{width:27px;height:27px}
/* Responsive layout. */
@media(min-width:1500px){.topbar{padding:0 52px;gap:43px}main{padding-top:43px}.lobby-hero{min-height:450px}.hero-copy{padding:48px}.desktop-nav{gap:30px}}
/* 2.68 large screens (owner batch 2): a modest step from 1,600 px — the root size, the column, the lobby icons and the hero grow about 10–20 %; phones and laptops are untouched (web/user-loading.css carries the cascade-winning twin of the icon-frame size). */
@media(min-width:1600px){:root{font-size:16px}.content{max-width:1320px}.game-list-icon,.game-list-icon-frame{width:74px;height:74px;flex-basis:74px}.lobby-hero{min-height:470px}}
@media(min-width:2200px){:root{font-size:17px}.content{max-width:1480px}}
@media(max-width:1180px){.topbar{gap:23px;padding:0 25px}.desktop-nav{gap:19px}.desktop-nav .nav-link{font-size:12px}.top-actions{gap:5px}.brand{font-size:23px}.brand img{width:34px;height:34px}.hero-copy{padding:37px}.grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.desktop-nav{display:none}.topbar{height:70px;gap:15px;padding:0 26px}.top-actions{gap:10px}main{padding:28px 26px 110px;min-height:calc(100vh - 70px)}.content{max-width:880px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:46;display:flex;justify-content:space-around;align-items:center;min-height:72px;padding:8px 14px max(8px,env(safe-area-inset-bottom));background:var(--header);border-top:1px solid var(--line)}.mobile-nav>a,.mobile-more>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:55px;min-height:47px;padding:4px 6px;font-size:11px;color:var(--muted)}.mobile-nav .icon{width:20px;height:20px}.mobile-nav a.active{color:var(--gold)}.mobile-more{position:relative}.mobile-more summary{list-style:none;cursor:pointer}.mobile-more summary::-webkit-details-marker{display:none}.mobile-more-menu{position:absolute;right:0;bottom:60px;min-width:185px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:7px;box-shadow:var(--shadow)}.mobile-more-menu a{display:flex;align-items:center;gap:10px;font-size:13px;padding:13px;border-radius:5px}.mobile-more-menu a:hover{background:var(--raised)}.lobby-hero{min-height:385px}.hero-copy{width:58%;padding:34px}.hero-copy h1{font-size:49px}.hero-copy>p{font-size:13px}.hero-details{gap:14px}.profile-meta{display:none}.admin-app .sidebar{display:none}.admin-app .topbar{height:70px}.admin-app main{margin:70px 0 0}.admin-label{display:none}.grid-two.profile-layout{grid-template-columns:1fr}}
@media(max-width:700px){.topbar{padding:0 20px;height:65px}.brand{font-size:23px;letter-spacing:1.9px}.brand img{width:33px;height:33px}.top-actions{gap:5px}.top-actions>.button{padding:8px 11px;font-size:12px;min-height:37px}.top-actions .icon-button{height:35px;width:35px}main{padding:25px 20px 100px;min-height:calc(100vh - 65px)}.page-heading{gap:15px;margin-bottom:24px}.page-heading>.button{padding:8px 10px;font-size:11px}h1{font-size:28px}.page-heading .subtext{font-size:12px;max-width:400px}.panel{padding:22px}.grid-two,.wallet-grid{grid-template-columns:1fr;gap:20px}.grid-three{gap:12px}.stat-card{padding:20px}.stat-card strong{font-size:24px}.lobby-hero{min-height:410px}.hero-copy{width:67%;padding:30px;align-self:flex-start}.hero-copy h1{font-size:45px;max-width:300px}.hero-copy>p{max-width:280px}.hero-art img{object-position:61% center}.lobby-hero:after{background:linear-gradient(90deg,#17191ded,#17191d94 47%,#17191d00 90%)}.hero-details{max-width:320px;font-size:11px;gap:10px 15px}.lobby-lower{margin-top:27px}.panel-heading{gap:12px}.panel-heading h2{font-size:17px}.live-panel .panel-heading>.small{font-size:11px}.profile-banner{gap:17px;padding-top:6px;padding-bottom:28px}.profile-banner>.avatar{height:65px;width:65px}.identity-line{gap:7px}.identity-line h2{font-size:25px}.profile-identity>p{font-size:12px;margin-top:6px}.profile-badge{height:30px;width:28px}.profile-badges{gap:0}.profile-form-grid{grid-template-columns:1fr;gap:0}.setting-row{gap:14px}.setting-row h3{font-size:13px}.setting-row p{font-size:12px}.setting-row .button{font-size:12px}.profile-banner .profile-identity{flex:1}.footer{font-size:11px;margin-top:29px}.big-number{font-size:34px}.reading p,.reading li,.faq details p{font-size:12px}.faq summary{font-size:13px}.tabs{gap:25px}dialog{padding:27px 23px}dialog h2{font-size:24px}.phrase-grid{gap:6px}.phrase-word{padding:9px 7px;font-size:11px;gap:6px}.phrase-word small{font-size:11px}.detail-grid{gap:16px}.chart{height:190px}.admin-toolbar .search-box{max-width:180px}.desktop-only{display:none}}
@media(max-width:450px){.topbar{padding:0 15px;gap:8px}.brand{font-size:21px;gap:8px}.brand img{height:30px;width:30px}.top-actions{gap:3px}.top-actions .icon-button{width:31px;height:34px}.top-actions>.button{padding:8px 9px;font-size:11px}main{padding:23px 15px 100px}.lobby-hero{min-height:530px;align-items:flex-start}.hero-copy{padding:28px 25px;width:100%}.hero-copy .eyebrow{margin-bottom:16px}.hero-copy h1{font-size:43px;max-width:290px;margin-bottom:15px}.hero-copy>p{font-size:13px;max-width:255px;margin-bottom:22px}.hero-game-meta{margin-bottom:19px;gap:14px}.hero-game-meta h2{font-size:20px}.hero-game-meta>span{padding-left:14px;font-size:11px}.hero-copy .game-card-action{min-width:148px;padding:12px 18px}.hero-art{inset:auto -58% -12% -13%;height:75%;opacity:.9}.hero-art img{object-position:right center}.lobby-hero:after{background:linear-gradient(180deg,#17191d 0%,#17191ded 34%,#17191d66 58%,transparent 83%)}.hero-details{margin-top:23px;max-width:240px;gap:8px 13px}.hero-details>span:last-child{display:none}.lobby-lower .panel-heading{align-items:center}.lobby-lower .panel-heading h2{font-size:17px}.lobby-lower .panel-heading>.small{max-width:97px;text-align:right;line-height:1.6}.panel{padding:20px}.tile .icon{width:23px;height:23px}.tile.safe .icon{width:29px;height:29px}.page-heading{flex-wrap:wrap;gap:14px}.page-heading>.button{margin-top:0}.profile-banner{gap:13px}.profile-banner>.avatar{width:54px;height:54px}.profile-banner>.avatar .icon{height:24px;width:24px}.identity-line h2{font-size:23px;max-width:100%}.profile-banner .identity-line{gap:3px 7px}.profile-badge{height:28px;width:25px;padding:3px}.profile-badge .icon{height:18px;width:18px}.profile-identity>p{font-size:12px}.setting-row{flex-wrap:wrap;align-items:flex-start;gap:13px}.setting-row>.icon{display:none}.setting-row>div{flex:1;min-width:165px}.grid-three{grid-template-columns:1fr}.grid-four{gap:12px}.stat-card{padding:20px}.stat-card strong{font-size:24px}.withdrawal-quote{padding:15px}.withdrawal-quote>div{font-size:12px;gap:10px}.mobile-nav{padding-left:6px;padding-right:6px}.mobile-nav>a,.mobile-more>summary{min-width:48px;font-size:11px}.mobile-nav .icon{width:20px;height:20px}.phrase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{font-size:11px}.admin-toolbar{flex-wrap:wrap}.admin-toolbar .search-box{max-width:100%;width:100%}.admin-app .mode-tag{display:none}.detail-grid{grid-template-columns:1fr}.release-notice{align-items:flex-start;flex-wrap:wrap}.auth-gate{padding:42px 22px}.auth-gate h2{font-size:23px}.auth-gate p{font-size:12px}}
@media(max-width:700px){.wallet-quick-actions{gap:27px;padding-bottom:27px}}
@media(max-width:360px){.wallet-quick-actions{justify-content:space-between;gap:15px}.wallet-usd-reference{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Don identity, compact wallet and deliberate account edits. */
.wallet-balance-heading{display:flex;align-items:center;gap:11px;color:var(--muted);font-size:12px}.wallet-balance-heading .token-icon{width:32px;height:32px}.wallet-network{font-size:11px;color:var(--muted);letter-spacing:.5px;margin-top:9px}.identity-setting-row{display:flex;align-items:center;gap:16px;padding:23px 0;border-bottom:1px solid var(--line)}.identity-setting-row:first-child{padding-top:0}.identity-setting-row:last-child{border-bottom:0}.identity-setting-row>div{flex:1;min-width:0}.identity-setting-row label,.identity-setting-row .label{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}.identity-setting-row strong{display:block;font-size:17px;font-weight:550;overflow-wrap:anywhere}.identity-setting-row .button{flex-shrink:0}.identity-setting-row .icon-button{color:var(--gold);flex-shrink:0}.profile-visibility{padding-top:7px}.footer-terms{border:0;padding:0;background:none;color:var(--muted);font-size:11px;cursor:pointer}.footer-terms:hover{color:var(--gold)}
/* Two-column game grid; one column on phones. */
.lobby-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:24px}

@media(max-width:700px){.lobby-game-grid{grid-template-columns:1fr}.identity-setting-row strong{font-size:16px}}
/* Visually hidden text and small labels. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lobby-game-grid{grid-template-columns:1fr}.wallet-network{margin-bottom:6px}

/* Player library, paged records and original Chicken road. */
.wallet-network{display:flex;align-items:center;gap:8px}.wallet-network img{width:18px;height:18px}.search-field{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:0 13px;min-width:0}.search-field:focus-within{border-color:var(--gold)}.search-field input{width:100%;border:0!important;box-shadow:none!important;background:transparent;min-height:43px;padding:8px 0;font-size:13px}.search-field>.icon{width:18px;flex-shrink:0;color:var(--muted)}.history-search{display:flex;gap:9px;margin:0 0 22px}.history-search .search-field{flex:1}.history-pager{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px;font-size:12px;color:var(--muted)}.history-pager>div{display:flex;align-items:center;gap:5px}.history-pager .button{min-width:34px;min-height:34px;padding:5px 9px}.history-count{font-size:11px;color:var(--muted);margin:16px 0 0}.ledger-title{display:flex;align-items:center;gap:13px;text-transform:capitalize;min-width:210px}.ledger-title.poll-question{text-transform:none}.category-label{display:inline-flex;background:var(--bg);border:1px solid var(--line);padding:4px 7px;border-radius:4px;font-size:10px;letter-spacing:.5px;color:var(--muted);white-space:nowrap}.ledger-title .category-label{margin-left:auto}.proof-state{white-space:nowrap}.status.failed{color:var(--red);background:#f8798710}.status.verified{color:var(--green);background:#2fce9d10}.status.guard-clear{color:var(--green);background:#2fce9d10}.status.guard-flagged{color:var(--red);background:#f8798710}.status.guard-clear .icon,.status.guard-flagged .icon{width:14px;height:14px;margin-right:5px;flex-shrink:0}.phrase-input-group{border:0;padding:0;margin:23px 0}.phrase-input-group legend{font-size:13px;font-weight:550;padding:0}.phrase-input-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.phrase-input-grid label{display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:7px;background:var(--bg);padding-left:9px;min-width:0}.phrase-input-grid label:focus-within{border-color:var(--gold)}.phrase-input-grid label>span{color:var(--muted);font-size:10px;min-width:15px}.phrase-input-grid input{padding:11px 5px!important;min-width:0;width:100%;border:0!important;background:transparent;box-shadow:none!important;min-height:40px;font-size:12px}.saved-address{background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:18px;margin-bottom:25px}.saved-address .row{font-size:12px;gap:12px;align-items:center}.saved-address code{display:block;margin-top:15px;overflow-wrap:anywhere;font-size:13px}.bio-form{padding-top:20px;border-top:1px solid var(--line);margin-top:22px}.bio-form textarea{min-height:88px}.public-profile{text-align:center}.public-profile>.avatar{margin:auto auto 20px}.public-profile>.identity-line{justify-content:center;flex-wrap:wrap}.public-profile h2{margin:0}.public-bio{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:14px;padding:14px 0}.public-results{border-top:1px solid var(--line);padding-top:18px;display:grid;gap:8px;text-align:left}.public-results-title{font-size:12px;color:var(--muted)}.public-result{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px}.public-result strong{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.public-results>small{font-size:11px;color:var(--muted)}.public-report{margin-top:18px}.profile-open{padding:0;background:none;border:0;display:flex;align-items:center;gap:12px;text-align:left;font:inherit;color:var(--text)}.profile-open:hover>span:last-child{color:var(--gold)}.profile-open small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.leader-profile{display:flex;align-items:center;gap:10px}.lobby-library{margin-top:36px}.game-search{width:270px}.lobby-library #game-list{border-top:1px solid var(--line)}.game-list-row{display:flex;align-items:center;gap:23px;padding:23px 9px;border-bottom:1px solid var(--line);color:var(--text);transition:background .2s}.game-list-row:hover{background:#ffffff03}.game-list-icon{width:66px;height:66px;border-radius:15px}.game-list-row h3{font-size:20px;margin:0 0 7px}.game-list-row p{font-size:12px;color:var(--muted);margin:0}.game-list-status{margin-left:auto;text-align:right}.game-list-status strong{display:flex;align-items:center;justify-content:flex-end;gap:14px;color:var(--gold);font-size:12px;margin-top:13px}.game-list-status .live-label{font-size:11px;white-space:nowrap}.live-wait{color:var(--muted);font-size:12px;text-align:center;margin:20px 0 0}.chicken-result{margin:0 27px 20px;padding:13px 16px;background:#f879870c;border:1px solid #f8798733;border-radius:8px;color:var(--red);font-size:13px}.chicken-result.won{background:#2fce9d0b;border-color:#2fce9d35;color:var(--green)}.chicken-result.cancelled{color:var(--muted);background:var(--surface);border-color:var(--line)}
@media(max-width:700px){.phrase-input-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.phrase-input-grid label{padding-left:6px}.phrase-input-grid input{font-size:11px}.lobby-library>.panel-heading{flex-direction:column;align-items:stretch;gap:16px}.game-search{width:100%}.game-list-row{gap:13px;padding:19px 0}.game-list-icon{width:49px;height:49px}.game-list-row h3{font-size:17px}.game-list-row p{font-size:11px;max-width:190px;line-height:1.6}.game-list-status{min-width:70px}.game-list-status strong{font-size:11px;gap:8px}.game-list-status .live-label{font-size:9px}.history-pager{flex-direction:column;align-items:flex-start}.history-pager>div{max-width:100%;flex-wrap:wrap}.leader-profile{gap:5px}.leader-profile .avatar{display:none}}

.nested-modal{padding:28px;max-width:min(620px,calc(100vw - 32px));max-height:90dvh;overflow:auto}

/* Every shared dialog has one close control; nested tasks keep their parent. */
.nested-modal{position:fixed;padding-top:42px}.nested-modal>.close{position:absolute;right:12px;top:12px}
.bio-link{color:var(--gold,#f0b90b);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.public-bio,.profile-bio p{white-space:normal;overflow-wrap:anywhere;word-break:normal}
[data-bio-link-unlock][hidden]{display:none!important}
.terms-updated{display:inline-block;font-size:12px;color:var(--muted,#929ba8);padding:4px 8px;border:1px solid var(--border,#343b43);border-radius:5px;margin-bottom:8px}

.mind-game-controls>div{grid-template-columns:minmax(0,1fr) auto}
/* Unavailable service: an automatic recovery dialog, without player actions. */
.service-unavailable-dialog{width:min(420px,calc(100vw - 32px));max-width:420px;text-align:center;padding:32px 24px;}
.service-unavailable-dialog .spinner{margin:0 auto 24px;}
.service-unavailable-dialog h2{font-size:1.4rem;line-height:1.3;}
.service-unavailable-dialog p{margin-bottom:0;color:var(--muted,#9ba5b1);}

/* Keep real work visible without shifting action labels or account dialogs. */
.button-spinner{display:inline-block;flex:0 0 16px;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:button-processing .75s linear infinite}
button[aria-busy="true"]{cursor:progress;gap:9px;opacity:.85}
@keyframes button-processing{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.button-spinner{animation-duration:1.8s}}
.account-security-check{margin:20px 0;min-width:0}
.account-security-check [data-turnstile-widget]{display:flex;justify-content:center;min-height:65px;width:100%;max-width:100%}
.account-security-check [data-widget-size="compact"]{min-height:140px}
.account-security-check [data-turnstile-status]{margin:8px 0 0;min-height:20px}
.account-security-check [data-turnstile-retry]{margin-top:8px}
dialog.account-access-dialog{width:min(540px,calc(100vw - 24px))}
@media(max-width:600px){dialog.account-access-dialog{padding:24px 20px}}
@media(max-width:380px){dialog.account-access-dialog{width:calc(100vw - 12px);padding:24px 12px}dialog.account-access-dialog .account-security-check{margin-inline:-9px}dialog.account-access-dialog h2{font-size:24px}}

/* Global positions remain plain numbers outside the three podium places. */
.badge-rank.rank-1{background:#6b511f;color:#ffe083}.badge-rank.rank-2{background:#454f5b;color:#e0e6ee}.badge-rank.rank-3{background:#694a35;color:#edbb97}.rank-number{display:inline-block;min-width:29px;text-align:center;font-variant-numeric:tabular-nums;color:var(--muted)}

/* One state-bound in-view banner (M.banner) for players and the owner console; #notice-dialog keeps account-level messages. */
.immune-banner{position:relative;display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:12px;line-height:1.6;box-shadow:var(--shadow)}
.immune-banner-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;color:var(--gold)}.immune-banner-icon .icon{width:18px;height:18px}.immune-banner-icon .button-spinner{flex-basis:16px}
.immune-banner-text{flex:1;min-width:0;overflow-wrap:anywhere}.immune-banner>.button{flex-shrink:0;margin-left:auto}
.immune-banner-error{border-color:color-mix(in srgb,var(--red) 28%,transparent);background:color-mix(in srgb,var(--red) 8%,var(--surface))}.immune-banner-error .immune-banner-icon{color:var(--red)}
.immune-banner-blocked,.immune-banner-connection{background:var(--raised);color:var(--muted)}.immune-banner-blocked .immune-banner-icon,.immune-banner-connection .immune-banner-icon{color:var(--muted)}
.immune-banner-floating{position:absolute;left:12px;right:12px;top:var(--banner-top,12px);z-index:6;pointer-events:none}.immune-banner-floating .button{pointer-events:auto}
@media(max-width:600px){.immune-banner{gap:8px;padding:10px 12px}.immune-banner .button{min-height:44px}}
.immune-banner-slot:not(:empty){margin:0 0 16px}
/* Zoom lock (2.60): the owner chose a fixed layout over browser zoom (see common.js). Every focusable field renders at 16px or more on phones so iOS never auto-zooms on focus; controls keep touch-action:manipulation. */
@media(max-width:700px){.search-field input,.phrase-input-grid input{font-size:16px}}

/* Activity (2.63): one panel behind a segmented control (Game history · Ledger · Reports); each kind keeps its own search and pages. */
#activity-panel .history-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--raised);max-width:100%}#activity-panel .history-tabs button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:650;padding:8px 12px;min-height:36px;border-radius:6px;cursor:pointer;touch-action:manipulation}#activity-panel .history-tabs button:hover{background:var(--surface)}#activity-panel .history-tabs button.selected,#activity-panel .history-tabs button[aria-pressed="true"]{background:rgba(240,185,11,.12);color:var(--gold)}#activity-panel .history-tabs button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.history-wallets{display:inline-flex;flex-wrap:wrap;gap:4px;padding:3px;margin:0 0 10px;border:1px solid var(--line);border-radius:8px;background:var(--raised);max-width:100%}.history-wallets button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:650;padding:6px 12px;min-height:32px;border-radius:6px;cursor:pointer;touch-action:manipulation}.history-wallets button:hover{background:var(--surface)}.history-wallets button[aria-pressed="true"]{background:rgba(240,185,11,.12);color:var(--gold)}.history-wallets button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
#activity-panel .panel-heading{flex-wrap:wrap;gap:12px}@media(max-width:700px){#activity-panel .history-tabs{width:100%;justify-content:space-between}#activity-panel .history-tabs button{flex:1 1 auto;padding:8px 6px}}
/* Player reports (2.63): the Reports rows, the small Report control in the opponent cell and the status badges. */
.report-text{display:block;margin-top:4px;max-width:420px;overflow-wrap:anywhere;white-space:pre-wrap}.report-remarks{margin:8px 0 0;font-size:12px;line-height:1.7;max-width:420px;overflow-wrap:anywhere;white-space:pre-wrap}.report-remarks strong{color:var(--gold)}.report-hint{margin:14px 0 0}
/* 2.64: a long remark is clamped to three lines inline; the info button beside it opens the full text in the shared value dialog. The label and the button stay outside the clamped span, in one wrapping row. */
.report-remarks{display:flex;flex-wrap:wrap;align-items:flex-start;gap:2px 5px}.report-remarks strong{flex:none}.report-remarks-text{flex:1 1 160px;min-width:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;vertical-align:top}.report-remarks .value-info{margin-left:2px}
.status.open{background:var(--gold-soft);color:var(--gold)}.status.resolved{background:#2fce9d12;color:var(--green)}
#terms-accept-form .check-label{margin:16px 0}#terms-accept-form+.button{margin-top:12px}
/* Paperwork (2.64): the Terms re-acceptance dialog moves focus to its heading so no control shows the gold ring when it opens; keyboard focus on the controls keeps the global ring. */
#modal-title:focus{outline:none}
/* Maintenance frame (2.66): the full-screen startup-style frame from web/maintenance.js (the fixed layer itself is the inline #app>.immune-startup rule of index.html, shared with the suspended frame); the signed-in sentence and the status slot sit under the actions. */
.immune-maintenance p{max-width:520px;margin-left:auto;margin-right:auto}.immune-maintenance .maintenance-signed-in{color:var(--text)}.immune-maintenance #maintenance-status{margin-top:16px}.immune-maintenance #maintenance-status .immune-banner{text-align:left}
/* Message tones (2.67): the owner picks one of eight fixed palette names per message (web/paperwork-defaults.js); a tone colours a banner's icon and an 8% background mix, the notice dialog's icon, or a Help group chip. The banner kind keeps role, aria-live and the icon shape. */
.immune-banner[data-tone="gold"],#notice-dialog[data-tone="gold"],.help-group-chip[data-tone="gold"]{--tone:var(--tone-gold)}.immune-banner[data-tone="green"],#notice-dialog[data-tone="green"],.help-group-chip[data-tone="green"]{--tone:var(--tone-green)}.immune-banner[data-tone="red"],#notice-dialog[data-tone="red"],.help-group-chip[data-tone="red"]{--tone:var(--tone-red)}.immune-banner[data-tone="blue"],#notice-dialog[data-tone="blue"],.help-group-chip[data-tone="blue"]{--tone:var(--tone-blue)}.immune-banner[data-tone="violet"],#notice-dialog[data-tone="violet"],.help-group-chip[data-tone="violet"]{--tone:var(--tone-violet)}.immune-banner[data-tone="orange"],#notice-dialog[data-tone="orange"],.help-group-chip[data-tone="orange"]{--tone:var(--tone-orange)}.immune-banner[data-tone="cyan"],#notice-dialog[data-tone="cyan"],.help-group-chip[data-tone="cyan"]{--tone:var(--tone-cyan)}.immune-banner[data-tone="grey"],#notice-dialog[data-tone="grey"],.help-group-chip[data-tone="grey"]{--tone:var(--tone-grey)}
.immune-banner[data-tone]{border-color:color-mix(in srgb,var(--tone) 28%,transparent);background:color-mix(in srgb,var(--tone) 8%,var(--surface))}.immune-banner[data-tone] .immune-banner-icon{color:var(--tone)}
/* 2.68 Website: the owner's one-line announcement bar (#announcement, text only) under the header, above the startup, terms and maintenance banner slots; it never overlays them. The palette follows data-tone like .immune-banner; gold without a tone. 2.69 item 1: the text itself takes the tone colour (the console preview paints the same tone, weight, tint and border), so grey reads muted on charcoal by the owner's choice. */
.announcement{display:flex;align-items:center;justify-content:center;gap:10px;min-height:40px;margin:0 0 16px;padding:9px 14px;border:1px solid color-mix(in srgb,var(--tone,var(--gold)) 28%,transparent);border-radius:10px;background:color-mix(in srgb,var(--tone,var(--gold)) 8%,var(--surface));color:var(--tone,var(--gold));font-size:13px;font-weight:550;line-height:1.45;text-align:center;overflow-wrap:anywhere}.announcement[hidden]{display:none}
.announcement[data-tone="gold"]{--tone:var(--tone-gold)}.announcement[data-tone="green"]{--tone:var(--tone-green)}.announcement[data-tone="red"]{--tone:var(--tone-red)}.announcement[data-tone="blue"]{--tone:var(--tone-blue)}.announcement[data-tone="violet"]{--tone:var(--tone-violet)}.announcement[data-tone="orange"]{--tone:var(--tone-orange)}.announcement[data-tone="cyan"]{--tone:var(--tone-cyan)}.announcement[data-tone="grey"]{--tone:var(--tone-grey)}
#notice-dialog[data-tone] .modal-icon{background:color-mix(in srgb,var(--tone) 8%,var(--surface));color:var(--tone)}
.help-group-chip{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:10px;vertical-align:middle;background:var(--tone,var(--tone-grey))}
/* Withdraw (2.67): one card in two steps. Step 1 ends with a one-line live quote and Continue; step 2 opens with the gross → net summary, the phrase grid (its legend row carries the Paste button) and the one Submit. 12-word accounts fit a 375×667 phone; 24-word accounts may scroll a little in step 2 (the 16px phone field rule stays). */
.withdrawal-quote-line{font-size:12px;color:var(--muted);line-height:1.7;margin:14px 0 0}.withdrawal-quote-line strong{color:var(--gold);font-weight:550}
.withdraw-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:0}.withdraw-summary strong{color:var(--text);font-weight:550}.withdraw-summary code{font-size:12px;overflow-wrap:anywhere}.withdraw-summary .text-link{margin-left:auto}.withdraw-summary:empty{display:none}
.phrase-legend-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.phrase-legend-row .button{flex-shrink:0;min-height:34px;padding:6px 10px}
[data-withdraw-step="2"] .phrase-input-group{margin:16px 0}[data-withdraw-step="2"] .phrase-input-grid{margin-top:12px}[data-withdraw-step="2"] .account-security-check{margin:16px 0}
/* 2.74 rupee payments: the plain-word status badges of UPI orders and rupee payouts (the class is the status key). 2.75 removed every
   second-currency reference rule: no amount is shown in a second currency (§2.10). */
.status.waiting,.status.creating,.status.payout_sending,.status.payout_pending{background:var(--gold-soft);color:var(--gold)}
.status.unconfirmed,.status.late_review{background:color-mix(in srgb,var(--tone-orange) 12%,transparent);color:var(--tone-orange)}
.status.not_started,.status.expired,.status.closed,.status.dismissed,.status.cancelled{background:var(--raised);color:var(--muted)}
/* ---------------------------------------------------------------------------------------------------------------------------
   2.75 shell (design-275 §8.11; spec §3, §4, §14, §15): one navigation per screen, the raised round Wallet button on phones, the
   brand link, desktop nav icons, the announcement's megaphone, the shared count dialog, guest sheets and the v8 Wallet page.
   --------------------------------------------------------------------------------------------------------------------------- */
.brand{color:var(--text)}a.brand:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:6px}
.nav-link .nav-icon{width:18px;height:18px}
.nav-link.active,.nav-link[aria-current="page"]{color:var(--gold)}
.footer{justify-content:flex-start;gap:8px 18px}
.announcement{justify-content:flex-start;text-align:left;border-left:3px solid var(--tone,var(--gold))}
.announcement-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:color-mix(in srgb,var(--tone,var(--gold)) 16%,transparent);color:var(--tone,var(--gold));flex-shrink:0}.announcement-icon .icon{width:16px;height:16px}
.announcement-text{min-width:0}
@media(max-width:980px){
 html{scroll-padding-bottom:calc(128px + env(safe-area-inset-bottom))}
 .mobile-nav{align-items:flex-end}
 .mobile-nav>a.mobile-wallet{flex:0 0 auto;width:60px;height:60px;min-width:60px;min-height:60px;margin:-26px 4px 0;padding:0;border-radius:50%;background:var(--action);color:#181a20;box-shadow:0 6px 18px #0007,0 0 0 4px var(--header)}
 .mobile-nav>a.mobile-wallet .icon{width:24px;height:24px}
 .mobile-nav>a.mobile-wallet.active,.mobile-nav>a.mobile-wallet[aria-current="page"]{color:#181a20;box-shadow:0 6px 18px #0007,0 0 0 4px var(--header),0 0 0 6px var(--gold)}
 .mobile-nav>a.mobile-wallet:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
 .mobile-more-menu{min-width:136px;width:136px}
 .top-actions .profile-link{display:none}
}
@media(forced-colors:active){.mobile-nav>a.mobile-wallet{border:2px solid ButtonText}.mobile-nav>a.mobile-wallet[aria-current="page"]{outline:2px solid Highlight}}

/* Count dots, the (i) beside a count and the shared count dialog (spec §7.1.1): a bottom sheet at ≤ 700 px. */
.count-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}
.count-dot-green{background:var(--tone-green)}.count-dot-orange{background:var(--tone-orange)}.count-dot-blue{background:var(--tone-blue)}.count-dot-yellow{background:var(--action)}
.count-info{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}
.count-info:before{content:"";position:absolute;inset:-12px}.count-info .icon{width:16px;height:16px}.count-info:hover{color:var(--text)}
.count-info:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.count-dialog{width:min(420px,calc(100vw - 32px));padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text)}
.count-dialog::backdrop{background:#000a}
.count-dialog-title{display:flex;flex-direction:column;gap:4px;margin:0 0 12px}
.count-dialog-number{display:inline-flex;align-items:center;gap:10px;font-size:30px;font-weight:750;font-variant-numeric:tabular-nums}
.count-dialog-number.count-green{color:var(--tone-green)}.count-dialog-number.count-orange{color:color-mix(in srgb,var(--tone-orange) 62%,#fff)}.count-dialog-number.count-blue{color:var(--tone-blue)}
.count-dialog-unit{font-size:14px;font-weight:550;color:var(--muted)}
.count-dialog-text{font-size:13px;line-height:1.6;color:var(--text)}
.count-dialog-foot{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--muted)}.count-dialog-foot .icon{width:14px;height:14px;margin-top:2px}
@media(max-width:700px){.count-dialog{margin:auto auto 0;width:100%;max-width:none;border-radius:16px 16px 0 0;padding-bottom:max(24px,env(safe-area-inset-bottom))}}

/* Guests: the Log in / Join sheet and the gate card (spec §3). */
.guest-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}.guest-actions .button{min-width:132px}
.guest-sheet{text-align:center}.auth-gate .guest-actions{justify-content:flex-start}
@media(max-width:360px){.guest-actions{flex-direction:column}.guest-actions .button{width:100%}}

/* The v8 Wallet page (§2.23, spec §12): one currency wallet tile with its combobox and Primary wallet checkbox, beside the Referral tile. */
.wallet-history-link{align-self:center}
.wallets{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:20px;align-items:stretch}
.wcard{display:flex;flex-direction:column;gap:16px;min-width:0;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.wcard-currency.is-primary{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));background:color-mix(in srgb,var(--gold) 4%,var(--surface))}
.w-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.w-label{margin:0;font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.2px}
.w-primary-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:12px;background:var(--gold-soft);color:var(--gold);font-size:12px;font-weight:650}.w-primary-chip .icon{width:14px;height:14px}
.cur-dd{position:relative;max-width:400px}
.cur-btn{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);cursor:pointer}
.cur-btn[aria-expanded="true"]{border-color:var(--gold)}.cur-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.cur-btn .currency-coin{width:34px;height:34px}.cur-btn .currency-coin .icon{width:20px;height:20px}
.cur-value{display:flex;flex-direction:column;min-width:0;flex:1}.cur-value strong{font-size:16px}.cur-value small{font-size:12px;color:var(--muted)}
.cur-chevron{color:var(--muted);transition:transform .15s}.cur-btn[aria-expanded="true"] .cur-chevron{transform:rotate(180deg);color:var(--gold)}
.cur-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:20;max-height:min(330px,60vh);overflow:auto;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}
.cur-option{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 10px;border-radius:8px;cursor:pointer}
.cur-option.active,.cur-option:hover{background:var(--raised)}.cur-option.shown{background:var(--gold-soft)}
.cur-option[aria-disabled="true"]{cursor:default;opacity:.6}
.cur-option .currency-coin{width:28px;height:28px}.cur-option-copy{display:flex;flex-direction:column;min-width:0;flex:1}.cur-option-copy small{color:var(--muted);font-size:12px}
.cur-option-name{font-weight:650}.cur-tag{display:inline-flex;margin-left:6px;padding:1px 7px;border-radius:9px;background:var(--gold-soft);color:var(--gold);font-size:11px;font-weight:650}
.cur-check{color:var(--gold);width:18px;height:18px}
.w-figures{display:flex;flex-direction:column;gap:14px}
.w-label-small{display:block;font-size:12px;color:var(--muted)}
.w-big{display:block;font-size:30px;font-weight:750;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.w-rows{display:grid;gap:8px}.w-row{display:flex;justify-content:space-between;gap:12px;font-size:13px}.w-row span{color:var(--muted)}.w-row strong{font-variant-numeric:tabular-nums}
.w-held strong,.w-held span{color:var(--gold)}
.w-method{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:12.5px;color:var(--muted)}.w-method .icon{width:16px;height:16px;color:var(--gold);margin-top:1px}
.w-actions{display:flex;flex-wrap:wrap;gap:10px}.w-action{flex-direction:column;gap:0;min-width:130px}.w-action small{font-size:11px;font-weight:500;opacity:.85}
.w-action[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.wallet-lock{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border:1px dashed color-mix(in srgb,var(--gold) 60%,var(--line));border-radius:9px;font-size:12.5px;color:var(--gold)}.wallet-lock .icon{width:15px;height:15px;margin-top:1px}
.w-primary{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
.pw-check{position:relative;display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:650;font-size:14px}
.pw-check input{position:absolute;left:0;top:0;width:24px;height:24px;margin:0;opacity:0}
.pw-box{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid var(--line);border-radius:6px;flex-shrink:0;color:transparent}
.pw-check input:checked+.pw-box{background:var(--gold);border-color:var(--gold);color:#181a20}.pw-box .icon{width:16px;height:16px}
.pw-check input:focus-visible+.pw-box{outline:2px solid var(--gold);outline-offset:3px}
.pw-check[data-state="blocked"]{opacity:.6;cursor:not-allowed}.pw-check[data-state="primary"],.pw-check[data-state="saving"]{cursor:default}
.pw-line{margin:6px 0 0 36px;font-size:12.5px;color:var(--muted)}
.pw-foot:empty{display:none}.pw-foot{margin:10px 0 0}
.wallet-saving,.wallet-saved,.wallet-failure{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:12.5px}.wallet-saving .icon,.wallet-saved .icon{width:15px;height:15px;margin-top:1px}
.wallet-saved .icon{color:var(--gold)}.wallet-failure{color:var(--red)}
.wallet-block{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;border:1px dashed color-mix(in srgb,var(--gold) 60%,var(--line));border-radius:10px}
.wallet-block>.icon{color:var(--gold);width:18px;height:18px}.wallet-block-copy{flex:1;min-width:180px}.wallet-block-copy strong{color:var(--gold)}.wallet-block-copy p{margin:4px 0 0;font-size:12.5px;color:var(--muted)}
.wcard-referral .ref-head{display:flex;gap:12px;align-items:flex-start}.ref-head>.icon{width:24px;height:24px;color:var(--gold)}.ref-head h2{margin:0}.w-sub{margin:2px 0 0;font-size:12px;color:var(--muted)}
.ref-foot{margin-top:auto;display:grid;gap:10px}
.wallet-note{display:flex;gap:10px;align-items:flex-start;margin-top:20px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:13px;color:var(--muted)}.wallet-note p{margin:0}.wallet-note .icon{color:var(--gold);flex-shrink:0}
.wcard-currency .w-figures{flex-direction:row;align-items:flex-end;gap:24px}.wcard-currency .w-available{flex:1;padding-right:24px;border-right:1px solid var(--line)}.wcard-currency .w-rows{flex:1}
@media(max-width:999px){.wcard-currency .w-figures{flex-direction:column;align-items:stretch;gap:14px}.wcard-currency .w-available{padding-right:0;border-right:0}}
@media(max-width:820px){.wallets{grid-template-columns:1fr}.cur-dd{max-width:none}}
@media(max-width:700px){.wallet-block .button{width:100%}}

/* The referral withdrawal sheet (spec §12.5): a bottom sheet at ≤ 700 px. */
.referral-sheet h2{margin:0 0 14px}
.ref-balance{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.ref-balance strong{margin-left:auto;font-variant-numeric:tabular-nums}.ref-balance .icon{color:var(--gold)}
.ref-notice{display:flex;gap:10px;align-items:flex-start;margin:12px 0 16px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--gold) 6%,transparent);font-size:12.5px}
.ref-summary{display:grid;gap:6px;margin:12px 0}.ref-summary div{display:flex;justify-content:space-between;gap:12px;font-size:13px}.ref-summary dt{color:var(--muted)}.ref-summary dd{margin:0;font-variant-numeric:tabular-nums}
#referral-hint.invalid{color:var(--red)}
.referral-form [aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.referral-form .modal-actions{display:flex;gap:10px;justify-content:flex-end}
@media(max-width:700px){#modal:has(.referral-sheet){margin:auto auto 0;width:100%;max-width:none;border-radius:16px 16px 0 0}}
/* Review round 1: the other wallet's net result under the primary one on the Activity summary, in its own colour. */
.stat-card small.activity-other-net{font-size:13px;font-variant-numeric:tabular-nums}.stat-card small.activity-other-net.positive{color:var(--green)}.stat-card small.activity-other-net.negative{color:var(--red)}
