:root {
        --ink: #173d2d;
        --cream: #fff8df;
        --gold: #ffcf55;
        --red: #ef6a4c;
        --green: #4d9b63;
        --shadow: #0d291e33;
      }
      * {
        box-sizing: border-box;
        -webkit-tap-highlight-color: transparent;
      }
      html,
      body {
        margin: 0;
        min-height: 100%;
        font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif;
        color: var(--ink);
      }
      html {
        background: #74b478;
      }
      body {
        background: linear-gradient(#9ed8be 0 42%, #74b478 42% 100%);
        overflow-x: hidden;
        overscroll-behavior: none;
      }
      body:before {
        content: "";
        position: fixed;
        inset: 0;
        pointer-events: none;
        background:
          radial-gradient(circle at 15% 18%, #fff9 0 2px, transparent 3px),
          radial-gradient(circle at 83% 12%, #fff8 0 2px, transparent 3px);
        background-size:
          90px 90px,
          130px 130px;
      }
      .hills {
        position: fixed;
        inset: auto 0 0;
        height: 58%;
        pointer-events: none;
        opacity: 0.55;
        background:
          radial-gradient(ellipse at 15% 110%, #2d754f 0 49%, transparent 50%),
          radial-gradient(ellipse at 75% 120%, #397e53 0 48%, transparent 49%);
      }
      .app {
        position: relative;
        min-height: 100vh;
        min-height: 100dvh;
        max-width: 720px;
        margin: auto;
        padding: max(14px, env(safe-area-inset-top))
          max(12px, env(safe-area-inset-right))
          max(18px, env(safe-area-inset-bottom))
          max(12px, env(safe-area-inset-left));
        display: grid;
        grid-template-rows: auto auto auto minmax(330px, 1fr) auto auto auto;
      }
      header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 12px;
      }
      .brand {
        display: flex;
        align-items: center;
        gap: 10px;
      }
      .stamp {
        width: 44px;
        height: 44px;
        display: grid;
        place-items: center;
        background: var(--red);
        color: white;
        border: 3px solid #fff7d8;
        border-radius: 13px;
        box-shadow: 0 4px 0 #a94432;
        font-weight: 900;
        font-size: 20px;
        transform: rotate(-4deg);
      }
      h1 {
        font-size: clamp(24px, 6vw, 38px);
        margin: 0;
        line-height: 1;
      }
      .sub {
        font-size: 13px;
        margin-top: 5px;
        color: #285946;
        font-weight: 700;
      }
      .header-actions {
        display: flex;
        gap: 8px;
      }
      .language-select {
        width: 84px;
        height: 44px;
        border: 0;
        border-radius: 14px;
        background: #fff8df;
        color: var(--ink);
        padding: 0 8px;
        font-size: 13px;
        font-weight: 800;
        box-shadow: 0 4px 0 #c79450;
        cursor: pointer;
        outline: none;
      }
      .icon-btn {
        border: 0;
        border-radius: 14px;
        background: #fff8df;
        color: var(--ink);
        width: 44px;
        height: 44px;
        font-size: 21px;
        box-shadow: 0 4px 0 #c79450;
        cursor: pointer;
      }
      .icon-btn:active {
        transform: translateY(3px);
        box-shadow: 0 1px 0 #c79450;
      }
      .status {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
        margin-bottom: 10px;
      }
      .pill {
        background: #fff8dfdd;
        border: 2px solid #fff8df;
        padding: 8px 10px;
        border-radius: 16px;
        text-align: center;
        box-shadow: 0 4px 12px #22583b24;
      }
      .pill b {
        display: block;
        font-size: 17px;
      }
      .pill span {
        font-size: 12px;
        color: #4b6c5d;
      }
      .game-shell {
        position: relative;
        min-height: 0;
        background: #366f4e4d;
        border: 2px solid #fff6d55c;
        border-radius: 26px;
        box-shadow:
          inset 0 2px 20px #143a2947,
          0 12px 24px #1b4d3533;
        overflow: hidden;
        touch-action: manipulation;
      }
      #board {
        position: absolute;
        inset: 0;
      }
      .tile {
        position: absolute;
        width: 58px;
        height: 66px;
        border: 0;
        border-radius: 12px;
        background: #fdf3cf;
        box-shadow:
          0 5px 0 #b97c3c,
          0 8px 12px #173d2d42;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 31px;
        cursor: pointer;
        transition:
          transform 0.16s,
          filter 0.16s,
          opacity 0.22s;
        user-select: none;
        border: 2px solid #fff9e8;
      }
      .tile:hover:not(.blocked) {
        transform: translateY(-3px) scale(1.03);
      }
      .tile.blocked {
        filter: brightness(0.62) saturate(0.65);
        cursor: not-allowed;
      }
      .tile.removing {
        transform: scale(0.2) rotate(12deg);
        opacity: 0;
      }
      .tray-wrap {
        margin-top: 12px;
        background: #173d2de8;
        padding: 11px;
        border-radius: 21px;
        box-shadow: 0 7px 0 #0e2c20;
      }
      .tray-label {
        display: flex;
        justify-content: space-between;
        color: #e8f4df;
        font-size: 13px;
        margin: 0 5px 8px;
      }
      .tray {
        display: grid;
        grid-template-columns: repeat(7, 1fr);
        gap: 5px;
      }
      .slot {
        aspect-ratio: 1/1.08;
        min-height: 48px;
        border-radius: 10px;
        background: #0b261b75;
        border: 2px dashed #88ac8e66;
        display: grid;
        place-items: center;
        font-size: 25px;
      }
      .slot.filled {
        background: #fff4d4;
        border-style: solid;
        border-color: #fff9e8;
        box-shadow: inset 0 -4px #c88d48;
      }
      .slot.pop {
        animation: pop 0.25s ease;
      }
      @keyframes pop {
        50% {
          transform: scale(1.18);
        }
      }
      .tools {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 9px;
        margin-top: 14px;
      }
      .tool {
        border: 2px solid #fff7d3;
        border-radius: 16px;
        background: #f9e7ad;
        color: var(--ink);
        padding: 9px 5px;
        min-height: 50px;
        box-shadow: 0 5px 0 #af773d;
        font-weight: 800;
        font-size: 14px;
        cursor: pointer;
        touch-action: manipulation;
      }
      .tool small {
        display: block;
        font-size: 11px;
        font-weight: 600;
        margin-top: 2px;
        color: #5c6c54;
      }
      .tool:disabled {
        filter: grayscale(1);
        opacity: 0.6;
        cursor: not-allowed;
      }
      .tool:not(:disabled):active {
        transform: translateY(4px);
        box-shadow: 0 1px 0 #af773d;
      }
      .site-footer {
        grid-column: 1 / -1;
        margin-top: 16px;
        text-align: center;
      }
      .site-footer-nav {
        display: inline-flex;
        max-width: 100%;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 4px;
        padding: 5px;
        border: 1px solid #fff8df8f;
        border-radius: 18px;
        background: #fff8df73;
        box-shadow: 0 5px 16px #1b4d3524;
        backdrop-filter: blur(6px);
      }
      .site-footer a {
        border-radius: 12px;
        color: #204b39;
        font-size: 11px;
        font-weight: 800;
        line-height: 1.25;
        padding: 7px 9px;
        text-decoration: none;
        transition:
          background-color 0.16s ease,
          color 0.16s ease;
      }
      .site-footer a:hover {
        background: #fff8dfb8;
        color: #0e2c20;
      }
      .site-footer a:focus-visible {
        outline: 3px solid var(--gold);
        outline-offset: 2px;
      }
      .reward-panel {
        margin: 0 0 10px;
        background:
          radial-gradient(circle at top left, rgba(20, 128, 143, 0.28) 0%, rgba(20, 128, 143, 0.06) 28%, transparent 48%),
          linear-gradient(180deg, #073640 0%, #052b34 58%, #04252d 100%);
        border: 1px solid #0bb6cf;
        border-radius: 16px;
        padding: 13px 15px 11px;
        box-shadow: 0 9px 22px #06242d33, inset 0 0 0 1px #28e9f214;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px 14px;
      }
      .reward-balance {
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 10px;
      }
      .reward-balance::before {
        content: "⚡";
        width: 34px;
        height: 34px;
        display: grid;
        place-items: center;
        border-radius: 10px;
        background: #082d36;
        color: #1fe7f4;
        font-size: 19px;
        box-shadow: inset 0 0 12px #31eef423;
        flex: 0 0 auto;
      }
      .reward-balance .label {
        display: block;
        font-size: 11px;
        font-weight: 800;
        color: #9fcbd4;
        letter-spacing: .2px;
      }
      .reward-balance strong {
        display: block;
        margin-top: 1px;
        font-size: 23px;
        line-height: 1.05;
        color: #48efff;
        text-shadow: 0 0 10px #28eafa2e;
      }
      .reward-hint {
        grid-column: 1 / -1;
        margin-top: 0;
        padding-top: 9px;
        border-top: 1px solid #1b59656b;
        font-size: 10.5px;
        line-height: 1.5;
        color: #8fb3bb;
        font-weight: 700;
      }
      .claim-btn {
        border: 0;
        border-radius: 13px;
        padding: 11px 17px;
        background: linear-gradient(180deg, #24dce9 0%, #16bfd2 100%);
        color: #052a34;
        font-size: 13px;
        font-weight: 900;
        box-shadow: 0 4px 0 #078b9c, inset 0 1px 0 #8bfbff66;
        cursor: pointer;
        white-space: nowrap;
      }
      .claim-btn:hover {
        filter: brightness(1.04);
      }
      .claim-btn:active {
        transform: translateY(3px);
        box-shadow: 0 1px 0 #078b9c;
      }
      .claim-card {
        width: min(520px, 100%);
        padding: 0;
        text-align: left;
        background: linear-gradient(180deg, #0e2836 0%, #071822 100%);
        color: #eafcff;
        border: 1px solid #1bc9f0;
        border-radius: 24px;
        overflow: hidden;
        box-shadow:
          0 20px 55px #041119bb,
          inset 0 0 0 1px #49f0ff14;
      }
      .claim-topbar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        padding: 20px 22px 10px;
      }
      .claim-title-badge {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 9px 14px;
        border-radius: 12px;
        background: linear-gradient(180deg, #0a2431, #0b1d28);
        border: 1px solid #1bd3f5;
        box-shadow: inset 0 0 18px #39d8f01f;
      }
      .claim-title-icon {
        color: #55f2ff;
        font-size: 18px;
        line-height: 1;
      }
      .claim-title-text {
        color: #ffffff;
        font-size: 20px;
        font-weight: 900;
        letter-spacing: 0.5px;
      }
      .claim-pill {
        flex-shrink: 0;
        padding: 8px 12px;
        border-radius: 999px;
        background: linear-gradient(180deg, #0b625a, #064c46);
        color: #a9fff1;
        font-size: 13px;
        font-weight: 900;
        box-shadow: inset 0 0 16px #6dfff126;
      }
      .claim-body {
        padding: 0 22px 22px;
      }
      .claim-info {
        margin: 0 0 14px;
        color: #bed8df;
        font-size: 15px;
        line-height: 1.6;
      }
      .claim-balance-line {
        margin: 0 0 12px;
        color: #d2eef5;
        font-size: 14px;
        font-weight: 800;
      }
      .claim-balance-line b {
        color: #43ebff;
        font-size: 18px;
      }
      .claim-address-panel {
        margin-bottom: 16px;
        background: linear-gradient(180deg, #081a25, #06131b);
        border: 1px solid #11384b;
        border-radius: 18px;
        padding: 14px;
        box-shadow: inset 0 0 0 1px #31d8ff0d;
      }
      .claim-address-label {
        margin-bottom: 8px;
        font-size: 12px;
        font-weight: 900;
        color: #8cc8d3;
      }
      .claim-address-box {
        display: flex;
        align-items: center;
        gap: 10px;
        background: #04131d;
        border: 1px solid #14506a;
        border-radius: 14px;
        padding: 12px 12px 12px 14px;
      }
      .service-address {
        flex: 1;
        min-width: 0;
        color: #3ee6ff;
        font-size: 14px;
        font-weight: 900;
        line-height: 1.4;
        word-break: break-all;
      }
      .copy-icon-btn {
        flex-shrink: 0;
        border: 0;
        width: 42px;
        height: 42px;
        border-radius: 12px;
        background: linear-gradient(180deg, #0b4d61, #08394a);
        color: #dfffff;
        font-size: 18px;
        font-weight: 900;
        cursor: pointer;
        box-shadow: inset 0 0 12px #65f2ff22;
      }
      .copy-service-btn {
        width: 100%;
        margin-top: 12px;
        border: 0;
        border-radius: 14px;
        padding: 14px 16px;
        background: linear-gradient(180deg, #29ddf2, #10bbd1);
        color: #04212b;
        font-size: 18px;
        font-weight: 900;
        cursor: pointer;
        box-shadow: 0 6px 0 #07879a;
      }
      .copy-service-btn:active,
      .copy-icon-btn:active {
        transform: translateY(2px);
      }
      .claim-form {
        display: grid;
        gap: 12px;
        margin-top: 10px;
      }
      .claim-field label {
        display: block;
        font-size: 12px;
        font-weight: 900;
        margin: 0 0 6px;
        color: #97d2dc;
      }
      .claim-field input {
        width: 100%;
        border: 2px solid #27778d;
        background: #f2f7f8;
        color: #082532;
        border-radius: 14px;
        padding: 13px 14px;
        font-size: 15px;
        outline: none;
        transition: border-color 0.18s, box-shadow 0.18s;
      }
      .claim-field input::placeholder {
        color: #6d8890;
      }
      .claim-field input:focus {
        border-color: #1ad7f5;
        box-shadow: 0 0 0 3px #1ad7f52a;
      }
      .claim-field input.overlimit {
        border-color: #ff6d52;
        box-shadow: 0 0 0 3px #ff6d521f;
      }
      .claim-error {
        display: none;
        margin: -2px 0 2px;
        color: #ff8d7b;
        font-size: 13px;
        font-weight: 800;
        line-height: 1.45;
      }
      .claim-error.show {
        display: block;
      }
      .claim-actions {
        margin-top: 2px;
        justify-content: flex-start;
      }
      .claim-actions .secondary {
        background: #d9c792;
        color: #15393d;
        box-shadow: 0 6px 0 #8f7b4a;
      }
      .claim-actions .primary {
        background: #ef6a4c;
        color: white;
        box-shadow: 0 6px 0 #a44030;
      }
      @media (max-width: 480px) {
        .reward-panel {
          padding: 10px 11px 9px;
          border-radius: 14px;
          gap: 8px 10px;
        }
        .reward-balance { gap: 8px; }
        .reward-balance::before { width: 30px; height: 30px; font-size: 17px; border-radius: 9px; }
        .reward-balance .label { font-size: 10px; }
        .reward-balance strong { font-size: 20px; }
        .claim-btn { padding: 10px 13px; font-size: 12px; }
        .reward-hint { font-size: 9.5px; padding-top: 8px; }
        .claim-topbar {
          padding: 16px 16px 10px;
          flex-wrap: wrap;
        }
        .claim-title-text { font-size: 18px; }
        .claim-pill { font-size: 12px; }
        .claim-body { padding: 0 16px 18px; }
        .claim-info { font-size: 14px; }
        .copy-service-btn { font-size: 16px; padding: 12px 14px; }
        .claim-address-box { padding: 11px 11px 11px 12px; }
      }

      /* Figure 2 style claim panel */
      #claimModal {
        background: rgba(2, 13, 20, 0.72);
        backdrop-filter: blur(6px);
      }
      .figure2-card {
        width: min(760px, 96vw);
        background: radial-gradient(circle at top left, rgba(18, 104, 118, 0.32) 0%, rgba(18, 104, 118, 0.08) 24%, transparent 40%), linear-gradient(180deg, #073640 0%, #062d35 38%, #042730 70%, #03232b 100%) !important;
        border: 1px solid #0bb6cf !important;
        border-radius: 16px !important;
        padding: 24px 28px 18px !important;
        color: #d8edf2 !important;
        text-align: left;
        box-shadow: 0 18px 55px #00101899, inset 0 0 0 1px #18eff81a, inset 0 24px 60px rgba(0, 255, 255, 0.03) !important;
      }
      .figure2-head {display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;}
      .figure2-title {display:flex;align-items:center;gap:10px;color:#fff;font-weight:900;font-size:24px;}
      .figure2-title .bolt {color:#00eaff;font-size:27px;filter:drop-shadow(0 0 7px #00eaff88);}
      .figure2-pill {background:#07584c;color:#9effe7;border-radius:999px;padding:8px 14px;font-weight:800;font-size:14px;white-space:nowrap;}
      .figure2-desc {font-size:16px;line-height:1.65;color:#a8c1c8;margin:0 0 16px;}
      .figure2-address-wrap {display:flex;align-items:center;gap:12px;background:#03151d;border:1px solid #0a3543;border-radius:15px;padding:14px 16px;margin-bottom:12px;box-shadow: inset 0 0 20px #00d8ff0a;}
      .figure2-address {flex:1;min-width:0;color:#39e3ff;font-size:17px;font-weight:800;word-break:break-all;}
      .figure2-copy-icon {width:40px;height:40px;border:0;border-radius:10px;background:#075365;color:#38e9ff;font-size:20px;cursor:pointer;box-shadow: inset 0 0 12px #4beeff24;}
      .figure2-copy-btn {display:block;width:100%;max-width:360px;border:0;border-radius:14px;padding:12px 16px;background:linear-gradient(180deg,#21dbe8,#17bfd2);color:#062832;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 5px 0 #058fa4;margin:0 0 12px;}
      .figure2-form {display:grid;gap:12px;margin-top:4px;}
      .figure2-field label {display:block;color:#9fcbd4;font-weight:800;font-size:13px;margin:0 0 6px;}
      .figure2-field input {width:100%;border:1px solid #16849a;background:#edf5f7;color:#092d37;border-radius:12px;padding:13px 14px;font-size:15px;outline:none;}
      .figure2-field input:focus {border-color:#1be5ff;box-shadow:0 0 0 3px #1be5ff22;}
      .figure2-field input.overlimit {border-color:#ff6d52;box-shadow:0 0 0 3px #ff6d5224;}
      .figure2-available {margin-top:7px;color:#a9c8cf;font-size:13px;}
      .figure2-available b {color:#48efff;}
      .figure2-actions {display:flex;justify-content:center;align-items:center;gap:14px;margin-top:8px;width:100%;}
      .figure2-foot {display:flex;justify-content:flex-start;gap:16px;flex-wrap:wrap;color:#6f8f97;font-size:13px;margin-top:12px;padding-top:0;}
      .figure2-foot span:last-child {color:#79d8c3;}
      /* Compact typography */
      .figure2-title {font-size:20px;}
      .figure2-title .bolt {font-size:22px;}
      .figure2-pill {font-size:12px;padding:6px 11px;}
      .figure2-desc {font-size:14px;line-height:1.55;}
      .figure2-address {font-size:14px;}
      .figure2-copy-icon {width:38px;height:38px;font-size:18px;}
      .figure2-copy-btn {font-size:14px;padding:10px 14px;}
      .figure2-field label {font-size:12px;}
      .figure2-field input {font-size:14px;padding:11px 12px;}
      .figure2-available {font-size:12px;}
      .figure2-actions .secondary,
      .figure2-actions .primary {font-size:14px;padding:11px 18px;min-width:78px;text-align:center;}
      .figure2-foot {font-size:11px;}
      @media (max-width: 600px) {
        .figure2-card {width:min(96vw,520px);padding:18px 16px 16px;border-radius:14px;}
        .figure2-head {align-items:flex-start;}
        .figure2-title {font-size:18px;}
        .figure2-title .bolt {font-size:20px;}
        .figure2-pill {font-size:11px;padding:6px 9px;}
        .figure2-desc {font-size:13px;line-height:1.5;}
        .figure2-address {font-size:13px;}
        .figure2-copy-btn {max-width:none;font-size:13px;padding:10px 12px;margin-bottom:10px;}
        .figure2-field label {font-size:11px;}
        .figure2-field input {font-size:13px;padding:10px 11px;}
        .figure2-available {font-size:11px;}
        .figure2-actions .secondary,
        .figure2-actions .primary {font-size:13px;padding:10px 16px;min-width:74px;text-align:center;}
        .figure2-foot {font-size:10px;gap:8px;}
      }
      .overlay {
        position: fixed;
        inset: 0;
        background: #102a20b8;
        backdrop-filter: blur(5px);
        display: grid;
        place-items: center;
        padding: 20px;
        z-index: 100;
        transition: 0.2s;
      }
      .overlay.hidden {
        opacity: 0;
        pointer-events: none;
      }
      .card {
        width: min(390px, 100%);
        background: #fff7dc;
        border: 5px solid #f3cc6a;
        border-radius: 30px;
        padding: 27px;
        text-align: center;
        box-shadow: 0 18px 50px #081c1566;
      }
      .card .hero {
        font-size: 58px;
      }
      .card h2 {
        font-size: 31px;
        margin: 5px 0 8px;
      }
      .card p {
        line-height: 1.7;
        margin: 0 0 20px;
        color: #476353;
      }
      .card-actions {
        display: flex;
        gap: 10px;
        justify-content: center;
        flex-wrap: wrap;
      }
      .primary,
      .secondary {
        border: 0;
        border-radius: 16px;
        font-size: 17px;
        font-weight: 900;
        padding: 14px 20px;
        cursor: pointer;
      }
      .primary {
        background: var(--red);
        color: white;
        box-shadow: 0 6px 0 #a44030;
      }
      .secondary {
        background: #e8d7a8;
        color: var(--ink);
        box-shadow: 0 6px 0 #aa8753;
      }
      .primary:active,
      .secondary:active {
        transform: translateY(4px);
        box-shadow: 0 2px 0 #a44030;
      }
      .toast {
        position: fixed;
        left: 50%;
        top: 18%;
        transform: translate(-50%, -20px);
        background: #173d2df0;
        color: white;
        padding: 10px 18px;
        border-radius: 999px;
        opacity: 0;
        transition: 0.25s;
        z-index: 120;
        font-weight: 700;
        pointer-events: none;
      }
      .toast.show {
        opacity: 1;
        transform: translate(-50%, 0);
      }
      @media (max-width: 480px) {
        .app {
          padding: max(10px, env(safe-area-inset-top))
            max(8px, env(safe-area-inset-right))
            max(12px, env(safe-area-inset-bottom))
            max(8px, env(safe-area-inset-left));
          grid-template-rows: auto auto auto minmax(290px, 1fr) auto auto auto;
        }
        header {
          gap: 6px;
        }
        .stamp {
          width: 39px;
          height: 39px;
        }
        .header-actions {
          gap: 4px;
        }
        .language-select {
          width: 88px;
          height: 42px;
          padding: 0 6px;
          font-size: 11px;
        }
        .icon-btn {
          width: 42px;
          height: 42px;
        }
        .tile {
          width: 58px;
          height: 66px;
          font-size: 31px;
        }
        .status {
          gap: 5px;
        }
        .pill {
          padding: 6px;
        }
        .tools {
          gap: 6px;
          margin-top: 9px;
        }
        .tool {
          font-size: 13px;
          min-height: 48px;
        }
        .tray-wrap {
          margin-top: 8px;
          padding: 8px;
        }
        .tray-label {
          margin-bottom: 5px;
        }
        .sub {
          display: none;
        }
        .site-footer {
          margin-top: 12px;
        }
        .site-footer-nav {
          width: 100%;
        }
        .site-footer a {
          flex: 1 1 auto;
          min-width: max-content;
          padding: 7px 6px;
          font-size: 10px;
        }
      }
      @media (max-height: 700px) and (max-width: 480px) {
        header {
          margin-bottom: 6px;
        }
        .status {
          margin-bottom: 6px;
        }
        .pill {
          padding: 4px;
        }
        .pill b {
          font-size: 15px;
        }
        .pill span {
          font-size: 11px;
        }
        .app {
          grid-template-rows: auto auto auto minmax(250px, 1fr) auto auto auto;
        }
        .slot {
          min-height: 42px;
        }
        .tool {
          min-height: 43px;
          padding: 5px;
        }
        .tool small {
          display: none;
        }
      }
      @media (orientation: landscape) and (max-height: 520px) {
        .app {
          max-width: 960px;
          grid-template-columns: minmax(0, 1fr) 280px;
          grid-template-rows: auto auto auto 1fr auto auto;
          padding: 8px 12px;
          column-gap: 12px;
        }
        header {
          grid-column: 1/3;
          margin-bottom: 6px;
        }
        .status {
          grid-column: 2;
          grid-row: 2;
          margin: 0 0 7px;
        }
        .reward-panel {
          grid-column: 2;
          grid-row: 3;
          margin: 0 0 7px;
          padding: 8px 9px;
        }
        .reward-balance::before { width: 28px; height: 28px; font-size: 15px; }
        .reward-balance strong { font-size: 18px; }
        .claim-btn { padding: 8px 10px; font-size: 11px; }
        .reward-hint {
          display: none;
        }
        .game-shell {
          grid-column: 1;
          grid-row: 2/6;
          min-height: 300px;
        }
        .tray-wrap {
          grid-column: 2;
          grid-row: 4;
          margin: 0;
        }
        .tools {
          grid-column: 2;
          grid-row: 5;
          margin: 8px 0 0;
        }
        .site-footer {
          grid-column: 1/3;
          grid-row: 6;
          margin-top: 7px;
        }
        .site-footer-nav {
          padding: 2px 4px;
        }
        .site-footer a {
          padding: 6px 8px;
          font-size: 10px;
        }
        .sub {
          display: none;
        }
        .pill {
          padding: 4px;
        }
        .tool small {
          display: none;
        }
      }
      @media (hover: none) {
        .tile:hover:not(.blocked) {
          transform: none;
        }
      }

/* Extracted utility styles */
.gtm-noscript-frame { display: none; visibility: hidden; }
.hidden-tracker-frame {
  position: fixed;
  top: 0;
  left: -1000px;
  pointer-events: none;
  border: 0;
}
#browserNotice { z-index: 200; }
#claimModal { z-index: 180; }
html[dir="rtl"] .figure2-card,
html[dir="rtl"] .figure2-desc,
html[dir="rtl"] .figure2-field,
html[dir="rtl"] .reward-panel { text-align: right; }
html[dir="rtl"] .figure2-foot { justify-content: flex-start; }
