#mexican-train-app{--mt-tile-h:46px;margin:12px 0 0}@media (width<=600px){#mexican-train-app{--mt-tile-h:38px}}:root{--mt-bone:#f9f0db;--mt-bone-lo:#d6c5a0;--mt-back:#7a2323;--mt-rule-blue:#b4c6da;--mt-ledge:10px;--mt-rail:#ffffff38}.mt-game{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width>=1100px){.mt-game{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.mt-side{position:sticky;top:12px}}.mt-main{gap:12px;min-width:0;display:grid}.mt-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.mt-round{font-size:var(--text-lg);font-weight:800}.mt-of{color:var(--muted);font-weight:600}.mt-chip{border:2px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:6px;padding:2px 12px;display:inline-flex}.mt-chip[data-anchor=boneyard]{border-color:var(--brass-dark);background:linear-gradient(180deg, #fffdf6, var(--highlight-soft))}.mt-chip[data-anchor=boneyard]:before{content:"";border:1.5px solid var(--tile-edge);background:var(--mt-bone);width:13px;height:24px;box-shadow:3px 3px 0 -.5px var(--tile-shade), 3px 3px 0 1px var(--tile-edge), 6px 6px 0 -.5px var(--tile-shade), 6px 6px 0 1px var(--tile-edge);border-radius:3px;flex:none;margin:2px 8px 6px 0}.mt-chip[data-anchor=boneyard] strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.3rem}.mt-round{font-family:var(--font-display)}.game-toolbar .btn[disabled]{opacity:.5;cursor:not-allowed}.mt-status p{margin:0}.mt-instr{margin-top:2px!important}.mt-rule{border-left:6px solid var(--brass);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--highlight-soft);padding:6px 12px;margin-top:8px!important}.mt-status .hint-box{margin-top:8px}.mt-log{border-top:1px solid var(--border);padding-top:6px}.mt-log li:last-child{color:var(--text);font-weight:600}.mt-table{border:8px solid var(--felt-edge);background:var(--felt-bg);background-color:var(--felt);box-shadow:var(--shadow-md), inset 0 0 0 2px #00000059, inset 0 2px 0 3px #ffffff0d, inset 0 0 60px #00000047;border-radius:20px;gap:8px;min-width:0;padding:10px;display:grid}.mt-hub{border:2px solid var(--brass);background:var(--wood-bg);background-color:var(--wood);color:#fff6e0;text-shadow:0 1px 2px #0000008c;border-radius:12px;align-items:center;gap:14px;padding:6px 14px 6px 8px;display:flex;box-shadow:inset 0 1px #fff3,0 3px 6px #0006}.mt-hub-tile{background:var(--felt-dark);box-shadow:0 0 0 2px var(--brass), inset 0 2px 6px #000000a6;border-radius:10px;flex:none;padding:6px 8px}.mt-hub-tile svg{width:calc(var(--mt-tile-h) * 2.4);filter:drop-shadow(0 2px 2px #00000080);height:auto;display:block}.mt-hub-text strong{font-family:var(--font-display);color:#ffeab0;margin-right:6px;font-size:1.3rem}.mt-row{color:#fff;background:#0003;border:3px solid #00000038;border-radius:12px;min-width:0;box-shadow:inset 0 2px 6px #00000040}@media (width>=700px){.mt-row{grid-template-columns:180px minmax(0,1fr);align-items:center;display:grid}.mt-row-head{flex-direction:column;align-items:flex-start;padding:6px 4px 6px 10px!important}.mt-open-note{display:none}}.mt-row.is-mine{border-color:var(--brass-light);background:#ffffff26}.mt-row.is-mexican{border-style:dashed;border-color:#fff6e0b3}.mt-row.is-active{border-color:var(--highlight);border-style:solid}.mt-row.is-pending{border-color:var(--highlight);border-style:solid;box-shadow:0 0 0 3px #ffc80059}.mt-row.is-hint{outline:5px solid var(--highlight);outline-offset:2px}.mt-row-head{flex-wrap:wrap;align-items:center;gap:4px 12px;padding:4px 10px 0;display:flex}.mt-row-name{text-shadow:0 1px 2px #00000080;margin:0;font-size:1.25rem;font-weight:700}.mt-count{align-items:center;gap:6px;display:inline-flex}.mt-backs .mt-back{width:12px;height:24px;display:block}.tile-back-face{fill:var(--mt-back);stroke:#f0e6d0;stroke-width:.08px}.tile-back-inlay{stroke:var(--brass-light);stroke-width:.05px}.tile-back-mark{fill:var(--brass);stroke:var(--brass-light);stroke-width:.03px}.mt-badge{background:var(--highlight);color:#1a1a1a;border-radius:999px;padding:0 10px;font-size:1rem;font-weight:800;display:inline-block}.mt-controls .mt-badge{margin-left:8px}.mt-note{opacity:.9;font-size:1rem}.mt-open,.mt-pending{color:#8a1c1c;background:#fff;border-radius:999px;align-items:center;gap:4px;padding:0 10px 0 6px;font-size:1.05rem;font-weight:800;display:inline-flex}.mt-open{border:2px solid var(--brass-dark);background:linear-gradient(180deg, #f6dd95, var(--brass));color:#231a05;gap:6px;padding:1px 12px 1px 8px;box-shadow:0 2px 3px #0006,inset 0 1px #ffffff8c}.mt-open-note{color:var(--text);font-weight:600}.mt-pending{color:#1a1a1a;background:var(--highlight);padding-left:10px}.mt-marker-icon{fill:#8e1b14;flex:none;width:28px;height:24px}.mt-marker-cut{fill:#f6dd95}.mt-strip{min-height:calc(var(--mt-tile-h) + 14px);scroll-behavior:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(var(--mt-rail), var(--mt-rail)) 0 calc(50% - 10px) / 100% 2px no-repeat, linear-gradient(var(--mt-rail), var(--mt-rail)) 0 calc(50% + 10px) / 100% 2px no-repeat, repeating-linear-gradient(90deg, #0000004d 0 5px, transparent 5px 20px) 0 50% / 100% 32px no-repeat;align-items:center;gap:3px;padding:6px 10px;display:flex;overflow:auto hidden}.mt-strip:focus-visible{outline:4px solid var(--focus);outline-offset:-4px}.mt-cap{opacity:.75;flex:none;margin-right:4px}.mt-cap svg{width:var(--mt-tile-h);height:var(--mt-tile-h);display:block}.mt-placed{flex:none;line-height:0}.mt-placed svg,.mt-ghost svg{width:calc(var(--mt-tile-h) * 2);height:var(--mt-tile-h);filter:drop-shadow(0 2px 2px #00000059);display:block}.mt-placed.is-double svg,.mt-ghost.is-double svg{width:var(--mt-tile-h);height:calc(var(--mt-tile-h) * 2)}.mt-placed.is-last svg{outline-offset:1px;border-radius:4px;outline:3px solid #8fd3ff}.mt-row.is-pending .mt-placed.is-last svg{outline-color:var(--highlight);outline-style:dashed}.mt-placed.is-arriving{opacity:0}.mt-empty{background:var(--felt-dark);border-radius:999px;flex:none;margin-left:4px;padding:2px 12px;font-size:1.05rem;box-shadow:0 0 0 1px #ffffff40}.mt-ghost{border:4px dashed var(--highlight);color:#fff;min-width:56px;min-height:56px;font:inherit;cursor:pointer;background:#ffc80038;border-radius:10px;flex-direction:column;flex:none;align-items:center;gap:2px;margin-left:6px;padding:4px 6px;animation:1.2s ease-in-out infinite mt-pulse;display:inline-flex;position:relative}.mt-ghost svg{opacity:.75}.mt-ghost-label{font-size:1rem;font-weight:800;line-height:1.1}.mt-ghost:hover,.mt-ghost:focus-visible{background:#ffc80073;border-style:solid;outline:3px solid #fff}@keyframes mt-pulse{50%{border-color:#fff3c4}}.tile-face{fill:var(--mt-bone);stroke:var(--tile-edge);stroke-width:.05px}.tile-bevel-hi{stroke:#fff;stroke-width:.05px;stroke-linecap:round}.tile-bevel-lo{stroke:var(--mt-bone-lo);stroke-width:.06px;stroke-linecap:round}.tile-line{stroke:#4a4136;stroke-width:.04px;stroke-linecap:round}.tile-line-hi{stroke:#fff;stroke-width:.03px;stroke-linecap:round}.tile-pin{fill:var(--brass);stroke:var(--brass-dark);stroke-width:.022px}.pip{fill:var(--pip)}.pip-rim{stroke:#fff;stroke-width:.024px;stroke-linecap:round}.mt-colored .pip.p1{fill:#0d47a1}.mt-colored .pip.p2{fill:#1b5e20}.mt-colored .pip.p3{fill:#b71c1c}.mt-colored .pip.p4{fill:#5d4037}.mt-colored .pip.p5{fill:#4a148c}.mt-colored .pip.p6{fill:#c43e00}.mt-colored .pip.p7{fill:#111}.mt-colored .pip.p8{fill:#00695c}.mt-colored .pip.p9{fill:#880e4f}.mt-colored .pip.p10{fill:#283593}.mt-colored .pip.p11{fill:#827717}.mt-colored .pip.p12{fill:#37474f}.mt-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.mt-you{border:3px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;flex:260px;align-items:center;gap:4px 16px;padding:8px 14px;display:flex}.mt-you.is-active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px var(--primary-soft), var(--shadow-md)}.mt-you-name{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.mt-buttons{flex-wrap:wrap;gap:12px;display:flex}.mt-buttons:empty{display:none}.mt-hand{--hand-tile-w:clamp(44px, 11vw, 66px);border:5px solid var(--felt-edge);border-radius:var(--radius);background:var(--tex-noise), linear-gradient(180deg, #f1e7d0, #e3d5b6);background-blend-mode:soft-light, normal;box-shadow:var(--shadow-sm), inset 0 3px 8px #3c280f47, inset 0 0 0 1px #00000040;min-height:calc(var(--hand-tile-w) * 2 + 40px);flex-wrap:wrap;justify-content:center;gap:14px 8px;padding:22px 12px 14px;display:flex}.mt-hand-tile:after{content:"";height:var(--mt-ledge);background:linear-gradient(180deg, var(--wood-light) 0 2px, var(--wood) 2px, var(--wood-dark));pointer-events:none;transition:transform .15s;position:absolute;top:100%;left:-5px;right:-5px;box-shadow:0 2px 3px #28190a59}.mt-hand-tile:first-child:after{border-radius:4px 0 0 4px;left:-9px}.mt-hand-tile:last-child:after{border-radius:0 4px 4px 0;right:-9px}.mt-hand-tile:only-child:after{border-radius:4px}.mt-hand-tile.can-play:after{transform:translateY(8px)}.mt-hand-tile.can-play:hover:after{transform:translateY(12px)}.mt-hand-tile.is-selected:after{transform:translateY(14px)}.mt-hand-tile.is-selected.can-play:hover:after{transform:translateY(12px)}.mt-hand-tile{width:var(--hand-tile-w);cursor:default;background:0 0;border:0;border-radius:10px;padding:0;transition:transform .15s;position:relative}.mt-hand-tile .mt-tile-svg{filter:drop-shadow(0 2px 2px #28190a73);width:100%;height:auto;display:block}.mt-hand-tile.can-play .mt-tile-svg,.mt-hand-tile.is-selected .mt-tile-svg{filter:drop-shadow(0 6px 5px #28190a66)}.mt-hand-tile.can-play{cursor:pointer;outline:4px solid var(--success);outline-offset:2px;transform:translateY(-8px)}.mt-hand-tile.can-play:hover{transform:translateY(-12px)}.mt-hand-tile.is-selected{outline:6px solid var(--primary);outline-offset:2px;transform:translateY(-14px)}.mt-hand-tile.is-hint{outline:6px solid var(--highlight);outline-offset:3px;box-shadow:0 0 0 12px var(--wood-dark)}.mt-hand-tile.cannot-play .mt-tile-svg{opacity:.6}.mt-hand-tile:focus-visible{outline:6px solid var(--focus)}.mt-hand-tile.is-arriving{opacity:0}.mt-new{z-index:1;background:var(--highlight);color:#1a1a1a;border-radius:6px;padding:0 6px;font-size:.9rem;font-weight:800;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.mt-side{border:1px solid var(--border-strong);border-radius:8px 8px var(--radius) var(--radius);box-shadow:var(--shadow-md), 0 3px 0 -1px #f3ead6, 0 4px 0 -1px var(--border-strong);background:#fffdf6;min-width:0;padding:0 0 14px;overflow:hidden}.mt-sb-title{border-bottom:4px solid var(--brass);background:var(--wood-bg);background-color:var(--wood);color:#fff6e0;font-size:var(--text-lg);text-shadow:0 1px 2px #0009;margin:0;padding:10px 16px}.mt-sb-note{color:var(--muted);margin:10px 16px 8px;font-size:1.05rem}.mt-sb-wrap{margin:0 12px}.mt-scoreboard thead th{border-bottom:2px solid var(--text);font-family:var(--font-display)}.mt-scoreboard tbody th,.mt-scoreboard tfoot th{border-right:2px solid #b5392c8c}.mt-scoreboard td{font-family:var(--font-display);font-size:1.2rem}.mt-sb-wrap,.mt-table-wrap{overflow-x:auto}.mt-scoreboard{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:1.1rem}.mt-scoreboard th,.mt-scoreboard td{border-bottom:1px solid var(--mt-rule-blue);text-align:center;padding:4px 6px}.mt-scoreboard tbody th{text-align:left;white-space:nowrap}.mt-sb-double{color:var(--muted);font-size:.95rem;font-weight:400}.mt-scoreboard tr.is-current{background:var(--highlight-soft)}.mt-scoreboard tr.is-current th{box-shadow:inset 6px 0 0 var(--primary);font-weight:800}.mt-scoreboard tfoot th,.mt-scoreboard tfoot td{border-top:3px solid var(--text);border-bottom:0;font-weight:800}.mt-scoreboard td.is-best{color:var(--success);background:#dff3e3}.mt-lead{font-size:.85rem;font-weight:700;display:block}.mt-dialog{width:min(720px,100vw - 24px)}.mt-headline{font-size:var(--text-lg);font-weight:700}.mt-note{color:inherit}.mt-mini-tile{width:24px;height:48px}.mt-none{color:var(--success);font-weight:700}.mt-winner{font-size:var(--text-xl);color:var(--success);margin:0 0 8px;font-weight:800}.mt-ranking{font-size:var(--text-lg);padding-left:1.6em}.mt-ranking li{justify-content:space-between;max-width:360px;display:flex}.mt-ranking li.is-winner{font-weight:800}.mt-settings-h{margin:20px 0 4px}.game-title{margin:12px 0 0;font-size:1.75rem}.fly-tile svg{filter:drop-shadow(0 4px 6px #0006);width:100%;height:100%;display:block}.mt-fly-back{width:100%;height:100%}@media (width<=600px){.game-title{margin-top:8px;font-size:1.35rem}.mt-game,.mt-main{gap:8px}.mt-table{gap:6px;padding:6px}.mt-hub{padding:4px 8px}.mt-hub-text{font-size:1.05rem}.mt-row-name{font-size:1.1rem}.mt-open-note,.mt-note{display:none}.mt-strip{padding:6px}.mt-log li:not(:last-child){display:none}.mt-buttons,.mt-buttons .btn{width:100%}.mt-hand{gap:14px 6px;padding:20px 6px 12px}.game-toolbar .btn{flex:auto}}@media (width<=767px){.play-dock .mt-controls{gap:6px}.play-dock .mt-controls .btn{min-height:52px;padding:4px 12px;font-size:1.15rem}.play-dock .mt-hand{--hand-tile-w:40px;gap:10px 6px;padding:16px 6px 8px}.mt-game{--mt-tile-h:34px}.mt-table{max-height:calc(100svh - var(--dock-h,400px) - 12px);gap:6px;padding:6px;position:relative;overflow-y:auto}.mt-row-name{font-size:1.1rem}.mt-hub{padding:2px 10px}:root{--mt-ledge:8px}.mt-table{border-width:5px;border-radius:16px}.mt-hub{gap:10px;padding:0 10px 0 6px}.mt-hub-tile{box-shadow:none;background:0 0;padding:0 5px}.mt-hand{border-width:2px}.mt-you-name{font-family:var(--font);font-size:1.2rem;font-weight:800}.mt-open{border-width:1px;padding:0 10px 0 6px}.mt-marker-icon{width:24px;height:20px}.mt-empty{padding:0 10px}.mt-chip[data-anchor=boneyard]:before{width:10px;height:18px;margin:0 8px 4px 0}.mt-chip[data-anchor=boneyard] strong{font-size:1.15rem;line-height:1}}
