/* Original hex-lattice lantern trail and signed-torque hanging mobile. */
.hm-board,.hm-controls,.hm-preview-card{--hm-bg:#10202c;--hm-panel:#172c39;--hm-line:#405361;--hm-ink:#f3f1e8;--hm-muted:#c2ced5;--hm-gold:#f2cf87;color:var(--hm-ink);font-family:inherit;box-sizing:border-box}
.hm-board *,.hm-controls *,.hm-preview-card *{box-sizing:border-box}
.hm-board{background:linear-gradient(145deg,#132b36,#10202c 65%);border:1px solid var(--hm-line);border-radius:20px;padding:clamp(16px,3vw,28px);margin-block:16px;overflow-wrap:anywhere}
.hm-heading{padding-bottom:14px;border-bottom:1px solid var(--hm-line)}
.hm-heading h3{font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.15;color:var(--hm-gold);margin:8px 0 12px}
.hm-heading p,.hm-preview-card>p{color:var(--hm-muted);line-height:1.65;max-width:76ch}
.hm-kicker{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:750;color:#a9ded7}
.hm-stage{padding-block:20px}
.hm-stage h4,.hm-illustration h4{font-size:.94rem;line-height:1.5;margin:12px 0 9px;color:var(--hm-gold)}
.hm-hex-layout,.hm-mobile-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:clamp(18px,3vw,34px);align-items:center}
.hm-hex-art{width:100%;max-width:430px;height:auto;display:block;justify-self:center;filter:drop-shadow(0 14px 22px #0004)}
.hm-hex-key{min-width:0}
.hm-measure{border-left:3px solid #8ee8dc;padding:10px 14px;background:#8ee8dc0d;line-height:1.5}
.hm-measure strong{font-size:1.8rem;display:inline-block;margin-inline-start:8px;color:#a0f4e7}
.hm-explainer,.hm-table-note,.hm-demo-note,.hm-funding-note{font-size:.85rem;line-height:1.65;color:var(--hm-muted);margin-block:12px}
.hm-table-wrap{overflow-x:auto;max-width:100%;border-radius:10px}
.hm-paytable{border-collapse:collapse;width:100%;font-size:.86rem;margin-block:14px;color:var(--hm-ink)}
.hm-paytable caption{text-align:left;font-size:.84rem;color:var(--hm-muted);line-height:1.6;padding-bottom:9px}
.hm-paytable th,.hm-paytable td{border:1px solid var(--hm-line);padding:9px 11px}
.hm-paytable thead th{background:#203746;color:#f5d99c}
.hm-paytable th{text-align:left;font-weight:600}
.hm-paytable td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.hm-paytable tbody tr:nth-child(odd){background:#0a1a2560}
.hm-result,.hm-pending{border:1px solid #738d91;background:#183139;border-radius:13px;padding:18px;margin-top:18px}
.hm-result h4,.hm-pending h4{font-size:1.08rem;line-height:1.5;color:#e6f3f0;margin:0 0 10px}
.hm-result p,.hm-pending p{font-size:.9rem;line-height:1.65;margin-block:8px}
.hm-result-win{border-color:#b1cd8d;background:#243a2c}
.hm-result-partial,.hm-result-even{border-color:#bbaa7a;background:#373526}
.hm-result-empty{border-color:#8295a2;background:#1b2e3b}
.hm-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 12px}
.hm-totals>div{padding:12px 10px;background:#08152066;border-radius:9px}
.hm-totals dt{font-size:.77rem;line-height:1.45;color:#c6d4db}
.hm-totals dd{margin:7px 0 0;font-size:clamp(1rem,2.6vw,1.45rem);line-height:1.35;font-weight:750;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.hm-result .hm-outcome-note{font-weight:700;font-size:1rem;color:#f8e5bd}
.hm-rules{border-top:1px solid var(--hm-line);padding-top:14px;margin-top:16px}
.hm-rules summary{cursor:pointer;font-weight:650;color:#f5d99c;line-height:1.5;padding:8px 2px}
.hm-rules>p{line-height:1.8;font-size:.88rem;color:var(--hm-muted)}
.hm-demo-note{margin-bottom:0}
.hm-controls{border:1px solid #53616b;border-radius:15px;background:#132632;padding:16px;margin-block:16px}
.hm-choices{border:0;margin:0;padding:0;min-width:0}
.hm-choices legend{padding:0 0 11px;font-size:.93rem;line-height:1.5;font-weight:700;color:#f3d799}
.hm-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.hm-choice{min-height:48px;padding:11px 14px;border:1px solid #7f929f;border-radius:10px;background:#1c3241;color:#e7eef2;line-height:1.45;font:inherit;font-size:.9rem;cursor:pointer;overflow-wrap:anywhere}
.hm-choice:hover:not(:disabled){background:#294657;border-color:#d2c68f}
.hm-choice.hm-selected{background:#ead39a;color:#17242f;border-color:#fff0bd;box-shadow:inset 0 0 0 1px #806b42;font-weight:750}
.hm-choice:disabled{cursor:default;opacity:.75}
.hm-play{display:block;min-height:48px;width:100%;font-weight:750;margin-top:13px}
.hm-play:disabled{opacity:.55;cursor:not-allowed}
.hm-error{border:1px solid #d9a1a1;color:#ffe0d9;background:#462d36;border-radius:10px;padding:14px;line-height:1.7}
.hm-rules summary:focus-visible,.hm-choice:focus-visible,.hm-play:focus-visible,.hm-preview-link:focus-visible{outline:3px solid #91efdc;outline-offset:4px}
.hm-cover{display:block;width:100%;height:auto;aspect-ratio:32/15;border-radius:15px;margin-block:15px;overflow:hidden}
.hm-illustration{color:#f3f1e8;background:#10202c;border:1px solid #405361;padding:clamp(12px,2.5vw,20px);border-radius:14px}
.hm-preview-title{font-size:clamp(1.6rem,3.5vw,2.7rem);line-height:1.2}
.hm-preview-note{line-height:1.8;max-width:85ch;color:#c4d1d9}
.hm-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:22px;align-items:start;margin-top:24px}
.hm-preview-card{background:#10202c;border:1px solid #43586a;border-radius:20px;padding:clamp(16px,2vw,26px);min-width:0;overflow-wrap:anywhere}
.hm-preview-card>h3{color:#f2cf87;font-size:1.45rem;line-height:1.3;margin:0}
.hm-preview-card .hm-hex-layout,.hm-preview-card .hm-mobile-layout{grid-template-columns:1fr;gap:16px}
.hm-preview-card .hm-hex-art{max-width:310px}
.hm-fixed-caption{font-size:.8rem;line-height:1.7;color:#afc3cc;border-left:3px solid #84b9b1;padding-left:10px}
.hm-preview-link{display:inline-flex;align-items:center;min-height:48px;color:#fff2c4;line-height:1.5;border:1px solid #8e866d;border-radius:9px;padding:10px 14px;margin-top:16px;text-decoration:none}
.hm-preview-link:hover{background:#29403f}
@media(max-width:620px){.hm-hex-layout,.hm-mobile-layout{grid-template-columns:1fr;gap:15px}.hm-hex-art{max-width:315px}.hm-totals{grid-template-columns:1fr}.hm-totals>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.hm-totals dd{margin:0}.hm-board{padding:15px}.hm-choice-grid{grid-template-columns:1fr}.hm-paytable th,.hm-paytable td{padding:8px;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.hm-board *,.hm-controls *,.hm-preview-card *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hm-hex-art{filter:none}}
@media(forced-colors:active){.hm-selected{outline:2px solid Highlight}.hm-choice:disabled{opacity:1}.hm-result,.hm-pending,.hm-controls{border:1px solid CanvasText}}

.hm-board[data-hm-game="gf2k-balanced-mobile"]{--hm-accent:#d5b6e8;--hm-line:#71667f;background:linear-gradient(145deg,#292036,#152332)}
.hm-hex-art,.hm-mobile-art{display:block;width:100%;height:auto;max-width:420px;margin-inline:auto}
.hm-hex-layout,.hm-mobile-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:center}
.hm-path{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.hm-path li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding:8px;background:#091d27;border:1px solid #37535e;border-radius:8px;font-size:.82rem;line-height:1.5}
.hm-path li>b{font-weight:650;overflow-wrap:anywhere}
.hm-path li>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.hm-layout-table{border-collapse:collapse;width:100%;font-size:.86rem;margin-block:14px}
.hm-layout-table caption{text-align:left;color:var(--hm-muted);line-height:1.6;padding-bottom:9px}
.hm-layout-table th,.hm-layout-table td{border:1px solid var(--hm-line);padding:8px 10px;text-align:center;font-variant-numeric:tabular-nums}
.hm-layout-table thead th{background:#332c44;color:#f4dbad}
.hm-moments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.hm-moments>div{border:1px solid var(--hm-line);padding:9px;border-radius:9px;background:#1d2433}
.hm-moments dt{font-size:.78rem;line-height:1.5;color:var(--hm-muted)}
.hm-moments dd{margin:5px 0 0;font-size:1.35rem;font-weight:700;color:#f3d69e}
.hm-rules:not([open])>:not(summary){display:none}
.hm-preview-card .hm-hex-layout,.hm-preview-card .hm-mobile-layout{grid-template-columns:1fr}
@media(max-width:700px){.hm-hex-layout,.hm-mobile-layout{grid-template-columns:1fr;gap:15px}.hm-path li{grid-template-columns:auto minmax(0,1fr) auto}.hm-path li>span,.hm-path li>b{font-size:.78rem}}
