:root{--kk:#e85d75;--kk-deep:#a3243f;--kk-cream:#fff4dc}.kk-car{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font:inherit;background:0 0;border:0;flex-direction:column;flex:none;align-items:stretch;padding:0;display:flex;position:relative}.kk-car:disabled{cursor:default}.kk-car-label{background:var(--cd);color:#fff;max-width:calc(100% + 6px);font-size:clamp(8.5px, calc(var(--w) * .15), 12px);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;z-index:1;border-radius:7px 7px 0 0;align-self:center;margin-bottom:-3px;padding:1px 4px 3px;font-weight:800;line-height:1.15;position:relative;overflow:hidden}.kk-car-body{padding:calc(var(--w) * .08) calc(var(--w) * .07) calc(var(--w) * .11);border-radius:calc(var(--w) * .16);background:linear-gradient(180deg, color-mix(in srgb, var(--c) 92%, white) 0%, var(--c) 45%, var(--cd) 100%);place-items:center;transition:transform .18s,box-shadow .18s,filter .18s;display:grid;position:relative;box-shadow:inset 0 2px #ffffff59,inset 0 -4px #00000040,0 0 0 2px #f0b429,0 6px 14px #00000073}.kk-plate{width:100%;min-height:calc(var(--w) * .62);padding:calc(var(--w) * .05) 2px;border-radius:calc(var(--w) * .1);background:radial-gradient(120% 100% at 50% 20%, #fffdf6 0%, var(--kk-cream) 60%, #f3dfb6 100%);color:#1d1408;flex-direction:column;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 -2px #a06e2859,0 0 12px #ffd68c59}.kk-zh{font-size:min(calc(var(--w) * .4), calc(var(--w) * .78 / var(--n)));font-weight:700;line-height:1.05}.kk-py{font-size:clamp(9px, calc(var(--w) * .155), 14px);color:#7a2e10;white-space:nowrap;margin-top:1px;font-weight:700;line-height:1.1}.kk-gloss{font-size:clamp(8px, calc(var(--w) * .125), 11.5px);color:#5b4a33;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:1px;line-height:1.1;overflow:hidden}.kk-wheels{margin-top:calc(var(--w) * -.1);z-index:1;justify-content:space-around;padding:0 12%;display:flex;position:relative}.kk-wheels i{width:calc(var(--w) * .24);height:calc(var(--w) * .24);background:radial-gradient(circle, #f0b429 0 22%, transparent 24%), repeating-conic-gradient(from 0deg, #2b1a10 0 20deg, #4a2a18 20deg 45deg);border:2px solid #f0b429;border-radius:50%;box-shadow:0 2px 4px #00000080}.kk-moving .kk-wheels i,.kk-loco-wrap.kk-moving .kk-wheel-fx{animation:.35s linear infinite kk-spin}@keyframes kk-spin{to{transform:rotate(-360deg)}}.kk-num{z-index:2;color:#fff;background:#061328;border:1.5px solid #ffffff80;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;font-weight:800;display:grid;position:absolute;top:-6px;right:-6px}@media (pointer:coarse){.kk-num{display:none}}.kk-car:not(:disabled):hover .kk-car-body{transform:translateY(-3px)}.kk-car:focus-visible{outline:none}.kk-car:focus-visible .kk-car-body{box-shadow:0 0 0 3px #fff,0 0 0 6px #f0b429,0 6px 14px #00000073}.kk-car.is-hint .kk-car-body{animation:1s ease-in-out infinite kk-hint;box-shadow:0 0 0 3px #fff,0 0 14px 4px #ffd45e99,0 6px 14px #00000073}@keyframes kk-hint{50%{transform:translateY(-4px);box-shadow:0 0 0 3px #fff,0 0 26px 8px #ffd45ed9,0 6px 14px #00000073}}.kk-car.is-picked .kk-car-body{transform:translateY(-10px)rotate(-2deg);box-shadow:0 0 0 3px #fff,0 0 0 6px #22d3ee,0 14px 20px #00000080}.kk-car.is-wrong .kk-car-body{box-shadow:0 0 0 3px #ff4d4f,0 0 18px 4px #ff4d4f99,0 6px 14px #00000073}.kk-car.is-muted{opacity:.35;filter:grayscale(.6)}.kk-car.has-coupler:before{content:"";left:calc(var(--gap,6px) * -1 - 2px);bottom:calc(var(--w) * .24);width:calc(var(--gap,6px) + 4px);background:#3a2414;border-radius:2px;height:4px;position:absolute;box-shadow:0 0 0 1px #f0b429}.kk-ghost{height:calc(var(--w) * 1.08 + 14px);border-radius:calc(var(--w) * .16);background:#ffffff0a;border:2px dashed #ffffff47;flex-direction:column;flex:none;justify-content:flex-end;transition:border-color .2s,background .2s;display:flex;position:relative}.kk-ghost.is-active{background:#ffd45e1f;border-color:#ffd45e;animation:1.4s ease-in-out infinite kk-ghost}.kk-ghost.is-wrong{background:#ff4d4f29;border-color:#ff4d4f}@keyframes kk-ghost{50%{background:#ffd45e38}}.kk-ghost-label{text-align:center;font-size:clamp(8px, calc(var(--w) * .14), 12px);color:#ffffff8c;padding-top:30%;font-weight:800;position:absolute;inset:0 0 auto}.kk-ghost .kk-wheels{opacity:.25;margin-bottom:-10px}.kk-track{position:relative}.kk-rails{opacity:.9;background:linear-gradient(#c9a27a,#7a5518) top/100% 3px no-repeat,linear-gradient(#c9a27a,#7a5518) bottom/100% 3px no-repeat,repeating-linear-gradient(90deg,#4a2c18 0 10px,#0000 10px 26px);border-radius:2px;height:12px;position:absolute;bottom:2px;left:-40px;right:-40px}.kk-train{will-change:transform;align-items:flex-end;display:flex;position:relative}.kk-loco-wrap{flex:none;position:relative}.kk-loco-wrap img{filter:drop-shadow(0 8px 12px #00000080);width:100%;height:auto;display:block}.kk-steam{pointer-events:none;width:0;height:0;position:absolute;top:-6%;left:22%}.kk-steam i{opacity:0;background:radial-gradient(circle,#ffffffd9,#fff0dc40 60%,#0000 70%);border-radius:50%;width:24px;height:24px;animation:1.6s ease-out infinite kk-steam;position:absolute;top:-12px;left:-12px}.kk-steam i:nth-child(2){animation-delay:.55s}.kk-steam i:nth-child(3){animation-delay:1.1s}.kk-moving .kk-steam i{animation-duration:.6s}@keyframes kk-steam{0%{opacity:.9;transform:translate(0)scale(.4)}to{opacity:0;transform:translate(26px,-46px)scale(2.2)}}.kk-rail{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;display:flex}.kk-rail-chip{border:1.5px solid color-mix(in srgb, var(--c) 70%, transparent);color:#e9f0ff;background:#061328b3;border-radius:999px;align-items:center;gap:4px;padding:2px 8px 2px 5px;font-size:11.5px;font-weight:800;transition:transform .2s,background .2s;display:inline-flex}.kk-rail-chip i{background:var(--c);border-radius:3px;width:9px;height:9px}.kk-rail-chip.is-active{background:color-mix(in srgb, var(--c) 35%, #061328);border-color:#ffd45e;transform:scale(1.06)}.kk-rail-chip.is-done{opacity:.55}.kk-rail-chip.is-wrong{background:#ff4d4f4d;border-color:#ff4d4f;animation:.5s ease-in-out 3 kk-pulse}@keyframes kk-pulse{50%{transform:scale(1.14)}}.kk-rail-arrow{color:#fff6;font-size:11px;font-weight:800}.kk-ticket{color:#24170a;background:linear-gradient(#fff8e8,#f3e2bd);border-radius:14px;align-items:center;gap:10px;padding:8px 14px 8px 12px;display:flex;position:relative;box-shadow:0 6px 16px #0006,inset 0 -2px #96641e40;-webkit-mask:radial-gradient(7px at 0,#0000 98%,#000) 0/51% 100% no-repeat,radial-gradient(7px at 100%,#0000 98%,#000) 100%/51% 100% no-repeat;mask:radial-gradient(7px at 0,#0000 98%,#000) 0/51% 100% no-repeat,radial-gradient(7px at 100%,#0000 98%,#000) 100%/51% 100% no-repeat}.kk-ticket-tag{color:#fff;letter-spacing:.08em;text-transform:uppercase;background:#a3243f;border-radius:6px;flex:none;padding:2px 7px;font-size:10px;font-weight:800}.kk-stamp{color:#1a8f4c;letter-spacing:.06em;background:#fff9;border:2.5px solid #1a8f4c;border-radius:8px;padding:2px 8px;font-size:12px;font-weight:900;position:absolute;top:50%;right:10px;translate:0 -50%;rotate:-10deg}.kk-yard{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#0613288c,#030a18cc);border:1px solid #ffffff1a;border-radius:20px;position:relative}.kk-yard-cars{flex-wrap:wrap;justify-content:center;align-items:flex-end;display:flex}.kk-explain{background:#28080ee0;border:1.5px solid #ff4d4fb3;border-radius:16px;align-items:flex-start;gap:10px;padding:9px 12px;display:flex;box-shadow:0 8px 20px #0006}.kk-explain.is-ok{background:#062818e6;border-color:#3ddc84b3}.kk-explain img{object-fit:contain;flex:none;width:40px;height:40px}.kk-float{color:#ffd69673;font-weight:700;animation:5s ease-in-out infinite kk-float;position:absolute}@keyframes kk-float{50%{opacity:.85;transform:translateY(-12px)rotate(4deg)}}.kk-dot{background:#ffffff38;border-radius:50%;width:8px;height:8px}.kk-dot.is-done{background:#3ddc84}.kk-dot.is-miss{background:#ffb347}.kk-dot.is-now{background:#ffd45e;box-shadow:0 0 0 3px #ffd45e4d}@media (prefers-reduced-motion:reduce){.kk-steam i,.kk-ghost.is-active,.kk-car.is-hint .kk-car-body,.kk-float{animation:none}}
