.train-shell{max-width:1080px;margin:auto;padding:24px 20px 52px}.train-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.train-heading h1{font-size:clamp(26px,4vw,40px);margin:0}.train-heading nav{display:flex;gap:16px;font-size:14px}
.train-shell [hidden],.train-table [hidden]{display:none!important}
.train-table{--gold:#f2cf7f;position:relative;isolation:isolate;background:#0f3532;color:#fff7e6;border-radius:24px;overflow:hidden;border:1px solid #4f7a70;box-shadow:0 18px 50px #12302f30}
.train-table *{box-sizing:border-box}.train-table p{margin:0}.train-table button{font:inherit;cursor:pointer;color:inherit}.train-table button:disabled{cursor:default}
.train-table button:focus-visible,.train-table summary:focus-visible{outline:3px solid #9ee8e0;outline-offset:3px}
.train-hud{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 20px;background:#0b2a28;font-size:13px;color:#d9e6df}
.train-hud strong{letter-spacing:.16em;font-size:12px;color:#e2c47e;white-space:nowrap}.train-round{flex:1;min-width:0;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.train-round small{font-size:inherit}
.train-yard{display:flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#ffffff0f;border:1px solid #ffffff14;font-variant-numeric:tabular-nums;white-space:nowrap}
.train-yard i{display:block;width:20px;height:11px;border-radius:3px;background:linear-gradient(90deg,#2c2420 0 47%,#c99a4b 47% 53%,#2c2420 53%);box-shadow:3px -3px 0 -1px #3c322c,6px -6px 0 -2px #4a3f37}
.train-sound{min-height:44px;border:1px solid #66827a;background:transparent;padding:5px 13px;border-radius:30px;font-size:12px;white-space:nowrap}
.train-seats{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;padding:10px 14px 8px;background:#0d2f2c}
.train-seat{position:relative;display:flex;align-items:center;gap:9px;min-width:0;padding:6px 10px 6px 7px;border-radius:13px;border:1px solid #ffffff14;background:#ffffff08;transition:border-color .3s,box-shadow .3s,background .3s}
.train-seat>i{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--c);color:#132322;font:800 13px/1 DM,system-ui,sans-serif;font-style:normal;box-shadow:inset 0 -3px 0 #0003}
.train-seat span{display:grid;min-width:0}.train-seat b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.train-seat small{font-size:11px;color:#b9cdc5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.train-seat.is-you{background:#f2cf7f10;border-color:#f2cf7f40}.train-seat.is-turn{border-color:var(--gold);background:#f2cf7f1c;box-shadow:0 0 0 1px #f2cf7f55,0 0 18px #f2cf7f30}
.train-open-tag{position:absolute;right:6px;top:-7px;font:800 9px/1 DM,system-ui,sans-serif;font-style:normal;letter-spacing:.08em;text-transform:uppercase;padding:4px 6px;border-radius:999px;background:#ffd77d;color:#3a2a08;box-shadow:0 2px 6px #0005}
.train-board{position:relative;height:clamp(360px,48vw,520px);background:#174e49;cursor:default}.train-board:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 70px #04191c99,inset 0 10px 18px -8px #04191caa}
.train-board canvas{display:block;width:100%;height:100%;touch-action:pan-y;-webkit-tap-highlight-color:transparent;user-select:none}
.train-skip{position:absolute;z-index:2;right:12px;bottom:12px;min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid #ffffff30;background:#0b2a28d9;font-size:13px;backdrop-filter:blur(4px)}
.train-fallback{position:absolute;inset:0;overflow:auto;padding:14px;display:grid;align-content:center;gap:8px}
.train-flat-row{display:flex;align-items:center;gap:5px;min-height:36px;padding:4px 10px;border-radius:10px;background:#ffffff0a;border-left:5px solid var(--c)}.train-flat-name{width:70px;font-size:12px;font-weight:700}.train-flat-row .train-bone{width:46px;height:26px;padding:0}.train-flat-row .train-num{display:none}.train-flat-end{margin-left:auto;font:800 20px/1 DM,system-ui,sans-serif}.train-flat-open{color:#ffd77d}
.train-message{min-height:46px;padding:12px 16px;font-size:14px!important;line-height:1.45!important;text-align:center;background:#123733;color:#fbe7bf!important;border-top:1px solid #ffffff10}
.train-message.is-due{background:#5a2a1c;color:#ffe2cf!important;box-shadow:inset 4px 0 0 #ff8a5c}.train-ends-wrap{padding:10px 14px 12px;background:#0d302d}.train-ends-title{font-size:11px!important;letter-spacing:.12em;text-transform:uppercase;color:#9fbab1;margin:0 0 8px!important}
.train-ends{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.train-end{position:relative;display:grid;align-content:start;gap:3px;min-height:68px;padding:7px 10px 8px 14px;border-radius:13px;border:1px solid #ffffff18;background:#ffffff09;text-align:left;transition:border-color .2s,background .2s,box-shadow .2s,transform .2s,opacity .2s}
.train-end:before{content:'';position:absolute;left:5px;top:9px;bottom:9px;width:4px;border-radius:4px;background:var(--c)}
.train-end-top{display:flex;align-items:center;gap:5px;min-width:0;font-size:11px;font-weight:700;color:#d8e5df;white-space:nowrap;overflow:hidden}.train-end-loco{flex:none;width:14px;height:9px;border-radius:2px 5px 2px 2px;background:var(--c);box-shadow:inset -5px 0 0 #0003}
.train-end strong{font:800 26px/1 Bricolage,DM,system-ui,sans-serif;font-variant-numeric:tabular-nums;color:#fff8e6}.train-end small{font-size:11px;color:#b5cbc3}
.train-end kbd{position:absolute;right:7px;top:6px;font:700 10px/1 DM,system-ui,sans-serif;color:#ffffff55;background:none;border:0;padding:0}
.train-end.is-closed{opacity:.5}.train-end.is-closed strong{color:#cfdcd6}
.train-end.is-movable{border-color:#e9cf8e70;background:#e9cf8e10}.train-end.is-movable:hover{transform:translateY(-2px);border-color:#e9cf8e}
.train-end.is-chosen{border-color:var(--gold);background:#f2cf7f26;box-shadow:0 0 0 2px #f2cf7f66}
.train-end.is-target{border-color:#ffe08f;background:#ffd77d2b;box-shadow:0 0 0 2px #ffd77d99,0 0 24px #ffd77d55;animation:train-glow 1.6s ease-in-out infinite}.train-end.is-target strong{color:#fff}
.train-end.is-due{border-color:#ff9a6c;background:#ff8a5c1c}.train-end.is-due small{color:#ffb595;font-weight:700}
.train-tray{padding:12px 16px 16px;background:linear-gradient(180deg,#123f3b,#0a2c29);border-top:1px solid #ffffff10}
.train-tray-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:#c4d6cf;margin-bottom:10px;font-variant-numeric:tabular-nums}
.train-tray-label span:first-child{padding:4px 11px;border-radius:999px;background:#ffffff0d;font-weight:700}.train-tray-label.is-mine span:first-child{background:var(--gold);color:#2b2108;box-shadow:0 0 0 4px #f2cf7f2e;animation:train-turn 2.4s ease-in-out infinite}
.train-rack{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;min-height:56px;padding:6px 0 4px}
.train-bone{position:relative;display:block;width:92px;height:50px;padding:3px;border:0;background:none;border-radius:10px;flex:none;transition:transform .22s,opacity .2s,filter .2s}
.train-bone-face{display:flex;width:100%;height:100%;border-radius:8px;border:1px solid #ece2c9;background:linear-gradient(160deg,#fffdf3,#efe4c8);box-shadow:0 3px 0 #a99f88,0 6px 11px #00151680;overflow:hidden}
.train-half{position:relative;flex:1}.train-half+.train-half{border-left:1px solid #bcae8d;box-shadow:-1px 0 0 #fff8}
.train-half i{position:absolute;width:6px;height:6px;border-radius:50%;transform:translate(-50%,-50%);background:var(--pc);box-shadow:inset 0 1px 1px #0007}
.train-num{position:absolute;right:3px;bottom:2px;font:700 8px/1 DM,system-ui,sans-serif;color:#8a7f69}
.train-half[data-value="1"]{--pc:#2b7fb8}.train-half[data-value="2"]{--pc:#2f8a4f}.train-half[data-value="3"]{--pc:#c2412d}.train-half[data-value="4"]{--pc:#7a4a2a}.train-half[data-value="5"]{--pc:#1f3f8a}.train-half[data-value="6"]{--pc:#b9790c}.train-half[data-value="7"]{--pc:#7b3fa0}.train-half[data-value="8"]{--pc:#1d6b63}.train-half[data-value="9"]{--pc:#26262b}.train-half[data-value="10"]{--pc:#b83a6b}.train-half[data-value="11"]{--pc:#4f6470}.train-half[data-value="12"]{--pc:#d0661d}
.train-half[data-value="10"] i,.train-half[data-value="11"] i,.train-half[data-value="12"] i{width:5.4px;height:5.4px}
.train-rack.is-mine .train-bone.is-legal .train-bone-face{box-shadow:0 3px 0 #a99f88,0 6px 11px #00151680,0 0 0 2px #e2b85a,0 0 16px #f7d79266}.train-rack.is-mine .train-bone.is-legal:hover:not(.is-selected){transform:translateY(-4px)}
.train-bone.is-dim{opacity:.62;filter:saturate(.7) brightness(.86)}
.train-bone.is-selected{transform:translateY(-9px) rotate(-2deg)}.train-bone.is-selected .train-bone-face{box-shadow:0 3px 0 #a99f88,0 12px 16px #00151666,0 0 0 3px #ffd77d,0 0 22px #ffd77d88}
.train-bone:focus-visible{outline:3px solid #9ee8e0;outline-offset:2px}.train-bone.is-new{animation:train-deal .5s cubic-bezier(.22,.85,.3,1)}
.train-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;min-height:46px;margin-top:10px}.train-actions:empty{min-height:0;margin:0}
.train-action{min-height:46px;border-radius:12px;padding:9px 20px;border:1px solid #e6ce99;background:#efdcaf;color:#203c40!important;font-weight:750}.train-action:disabled{opacity:.5}.train-wait{font-size:13px;color:#ffc9a8}
.train-result{padding:20px 18px 22px;text-align:center;background:radial-gradient(ellipse at 50% 0%,#285b54,#15403c);border-top:1px solid #ffffff14}.train-result:empty{display:none}
.train-result h2{margin:0 0 6px;color:#fff6dc;font-size:clamp(22px,3vw,30px)}.train-result>p{max-width:640px;margin:0 auto 14px!important;font-size:14px;color:#d5e3dc}
.train-score{margin:0 auto 14px;border-collapse:collapse;width:auto;min-width:min(420px,100%);font-size:14px;font-variant-numeric:tabular-nums}.train-score th,.train-score td,.train-history th,.train-history td{background:none;vertical-align:middle;color:inherit}.train-score th{border-bottom:0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#a8c2b9;padding:6px 12px;text-align:right}.train-score th:first-child,.train-score td:first-child{text-align:left}
.train-score td{padding:8px 12px;border-top:1px solid #ffffff14;border-bottom:0;text-align:right}.train-score td i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:-1px}.train-score tr.is-low td{color:#ffe7a8;font-weight:800}
.train-left{display:grid;gap:6px;justify-content:center;margin:0 0 14px}.train-left div{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:12px;color:#c9dad3}.train-left div>span:first-child{min-width:54px;text-align:right}.train-left .train-bone{width:56px;height:30px;padding:0}.train-left .train-bone-face{box-shadow:0 2px 0 #a99f88}.train-left .train-num{display:none}.train-left .train-half i{width:4px;height:4px}
.train-next{margin-top:4px}
.train-help{background:#0c2c29;padding:0 20px;color:#d4e3d9;font-size:14px}.train-help summary{min-height:48px;padding:14px 0;font-size:13px;cursor:pointer}.train-help p{margin:0 0 12px!important;line-height:1.6;font-size:14px}
.train-history{width:100%;min-width:0;border-collapse:collapse;font-size:12px;margin:4px 0 18px;font-variant-numeric:tabular-nums}.train-history td,.train-history th{padding:6px;border-bottom:1px solid #41615d;text-align:right}.train-history td:first-child,.train-history th:first-child{text-align:left}
.train-start{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:center;border-radius:24px;background:linear-gradient(160deg,#f5efe0,#e6efe9);padding:clamp(22px,5vw,46px);border:1px solid #cfd9cd}
.train-start h2{font-size:clamp(26px,4vw,40px);max-width:640px;margin:0 0 10px}.train-start>p{font-size:16px;max-width:600px}
.train-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:20px 0;max-width:760px}.train-start-art{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 18px 40px #12302f33;border:1px solid #2c5c55}.train-shell>p:last-child{margin-top:16px}.train-options label{display:grid;gap:6px;font-size:14px;font-weight:600}
.train-options select{min-height:46px;padding:10px;border-radius:9px;border:1px solid #9db3aa;background:#fff;font:inherit;font-weight:400}
.train-start-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.train-access{font-size:14px!important;line-height:1.55!important;margin-top:14px!important;max-width:640px}
.train-after{display:flex;flex-wrap:wrap;gap:12px;padding:22px 0;align-items:center}.train-after:empty{display:none}.train-upsell{font-size:14px}
.train-status{min-height:1px}
@keyframes train-glow{50%{box-shadow:0 0 0 2px #ffd77dcc,0 0 30px #ffd77d88}}
@keyframes train-turn{50%{box-shadow:0 0 0 7px #f2cf7f14}}
@keyframes train-deal{from{opacity:0;transform:translateY(-26px) scale(.9)}to{opacity:1;transform:none}}
@media(max-width:820px){.train-start{grid-template-columns:1fr}.train-start-art{display:none}}
@media(max-width:640px){.train-shell{padding:16px 10px 34px}.train-table{border-radius:16px}.train-hud{padding:6px 8px 6px 12px;gap:8px;font-size:12px}.train-hud strong{display:none}.train-round small{display:none}.train-end-loco{display:none}.train-yard{padding:6px 9px}.train-sound{padding:5px 10px}
 .train-seats{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:5px;padding:7px 8px 6px}.train-seat{padding:4px 7px 4px 5px;gap:6px}.train-seat>i{width:24px;height:24px;font-size:11px}.train-seat b{font-size:12px}.train-seat small{font-size:10px}
 .train-board{height:clamp(280px,82vw,340px)}.train-message{padding:10px 12px;font-size:13px!important}.train-ends-wrap{padding:8px 8px 10px}.train-ends{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:5px}.train-end{min-height:56px;padding:5px 4px 5px 10px;border-radius:11px}.train-end:before{left:4px}.train-end strong{font-size:22px}.train-end small{font-size:10px}.train-end kbd{display:none}.train-end-top{font-size:10px}
 .train-tray{padding:10px 8px 12px}.train-rack{gap:6px}.train-bone{width:62px;height:44px;padding:2px}.train-half i{width:5px;height:5px}.train-half[data-value="10"] i,.train-half[data-value="11"] i,.train-half[data-value="12"] i{width:4.6px;height:4.6px}.train-num{font-size:7px}
 .train-options{grid-template-columns:1fr}.train-help{padding:0 12px}.train-score{font-size:13px}.train-score td,.train-score th{padding:6px 8px}}
@media(prefers-reduced-motion:reduce){.train-table *{animation:none!important;transition:none!important}}
[data-party-active][data-party-game="train"][data-party-phase="playing"] .party-room-header{gap:6px 14px;margin-bottom:6px}[data-party-active][data-party-game="train"][data-party-phase="playing"] .party-room-header h1{font-size:22px;margin:0}[data-party-active][data-party-game="train"][data-party-phase="playing"] .party-back{display:none}
.train-room-note{margin-top:10px!important}
/* Landing page */
.mt-landing{--ink:#173532}.mt-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,52px);align-items:center}
.mt-hero h1{font-size:clamp(38px,5.4vw,66px);line-height:1.02;margin:10px 0 14px}.mt-lede{font-size:clamp(17px,1.6vw,20px);max-width:560px}.mt-cta{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 14px;align-items:center}
.mt-cover{display:block;position:relative;aspect-ratio:3/2;border-radius:22px;overflow:hidden;background:#174e49;box-shadow:0 24px 60px #12302f38;border:1px solid #2c5c55}.mt-cover img{display:block;width:100%;height:100%;object-fit:cover}
.mt-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:18px 0 0}.mt-facts li{padding:12px 14px;border-radius:14px;background:#eef3ef;border:1px solid #d5e0d8;font-size:14px;line-height:1.45}.mt-facts b{display:block;font-size:15px;margin-bottom:2px}
.mt-essentials{padding-top:0!important}.mt-facts{margin-top:0!important}.mt-short{margin-top:22px!important;max-width:820px;font-size:18px;line-height:1.65;padding:18px 22px;border-left:5px solid #d8b56a;background:#fbf7ec;border-radius:0 16px 16px 0}.mt-short strong{display:block;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#7b6431;margin-bottom:4px}
.mt-steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:12px;max-width:820px}.mt-steps li{counter-increment:s;position:relative;padding:14px 16px 14px 60px;border-radius:14px;background:#f4f6f2;border:1px solid #dfe6df;line-height:1.55}.mt-steps li:before{content:counter(s);position:absolute;left:16px;top:13px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#173532;color:#f2cf7f;font-weight:800}
.mt-table-wrap{overflow-x:auto;max-width:820px}.mt-table{width:100%;min-width:0;border-collapse:collapse;font-size:15px}.mt-table th,.mt-table td{padding:11px 14px;border-bottom:1px solid #dbe3dc;text-align:left}.mt-table thead th{background:#173532;color:#fff6dc;font-size:13px;letter-spacing:.04em}.mt-table tbody tr:nth-child(odd){background:#f6f8f5}
.mt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.mt-grid article{padding:18px 20px;border-radius:16px;background:#f4f6f2;border:1px solid #dfe6df}.mt-grid h3{margin:0 0 6px;font-size:19px}.mt-grid p{margin:0;line-height:1.6}
.mt-faq details{max-width:820px}.mt-more{margin-top:18px}
@media(max-width:860px){.mt-hero{grid-template-columns:1fr}.mt-facts{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.mt-facts{grid-template-columns:1fr}.mt-steps li{padding-left:54px}}
.room-is-live .mt-landing [data-party-hero]{display:none}
.train-room-stage{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
