.rf-route-stage{position:relative;width:min(100%,382px);margin:12px auto}
.rf-board-wrap{position:relative}
.rf-route-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;padding:7px;border:3px solid #6c837b;border-radius:13px;background:#14231f;box-shadow:0 10px 24px #0006}
.rf-road-cell{aspect-ratio:1;min-width:0;padding:0;border:1px solid #657d79;border-radius:5px;background:#4d6262;color:#e7f1dc;font-size:19.6px;cursor:pointer;touch-action:manipulation}
.rf-road-cell.road{background:linear-gradient(135deg,#7c8781,#566663);box-shadow:inset 0 0 0 1px #d6d2ac36}
.rf-road-cell.wall{border-color:#26382d;background:repeating-linear-gradient(45deg,#294232 0 5px,#31503d 5px 10px);color:#6c846f;cursor:default}
.rf-road-cell.reachable{border-color:#d8dcac}.rf-road-cell.reachable:hover,.rf-road-cell.reachable:focus-visible{outline:2px solid #eacb74}
.rf-road-cell.car{background:#38556c;border-color:#e6deaa;font-size:28px}.rf-road-cell.goal{background:#52866b;border-color:#c5efb4;font-size:26.6px}
.rf-road-cell.hinted{background:#b29143;border-color:#fff0a7;box-shadow:0 0 0 2px #ffe69a88}
/* Клетки-события настольной дорожки: у каждого события своя рамка. */
.rf-road-cell.effect{font-size:21px;border-color:#e0cf8e;box-shadow:inset 0 0 0 2px #ffe69a55,inset 0 -8px 12px #0004}
.rf-road-cell.effect.traffic{background:#8a5a3c}.rf-road-cell.effect.detour{background:#6d5a86}
.rf-road-cell.effect.green{background:#3d7a4f}.rf-road-cell.effect.lift{background:#3f6f86}
.rf-road-cell.effect.nav{background:#7a6d33}.rf-road-cell.effect.parking{background:#41586e}
.rf-road-cell.effect.repair{background:#7c4a4a}.rf-road-cell.effect.fine{background:#6b3f52}
/* G46 · ФИШКА, а не кубик: по дорожке ползёт фишка Мерседеса. Класс .token висит на
   той же клетке, что и .car, поэтому фишка читается и в цвете клетки, и в подписи поля. */
.rf-road-cell.car.token{background:radial-gradient(circle at 34% 26%,#fff6d3,#e6deaa 38%,#3f6f86 40%,#22414f);border-color:#fff0a7;box-shadow:0 0 0 2px #ffe69a88,0 4px 10px #0007;font-size:29.4px}
/* Подпись под полем: Настолка с фишкой, а не сетка кнопок. */
.rf-dice-box{display:flex;align-items:center;gap:11px;margin:10px auto;max-width:350px}
.rf-dice{width:54px;height:54px;flex:0 0 auto;display:grid;place-items:center;border:2px solid #e6deaa;border-radius:11px;background:linear-gradient(145deg,#f4efe0,#cbc4ae);color:#1c2c20;font-size:53.2px;line-height:1;box-shadow:0 5px 14px #0006}
.rf-dice-note{font:18.2px 'Space Mono',monospace;color:#f2ffdf}
.rf-route-stage .timed-cap{right:6%;top:17%;z-index:5;width:62px;height:44px;background-size:contain;background-repeat:no-repeat;background-position:center;filter:none}
.rf-route-stage .cap-countdown{position:absolute;right:0;top:0}
/* П.22 владельца: нижняя строка показателей (доза/промахи/минуты) убрана —
   «это не нужно и никто это не будет читать». Механика и статус не тронуты. */
.rf-fuel-info{display:none}
.rf-route-controls{display:grid;grid-template-columns:1fr;gap:6px;align-items:stretch;margin:11px auto;max-width:350px}
.rf-route-controls button{border:1px solid #7d9d88;border-radius:8px;background:#315642;color:#f4ffe8;font-size:28px;cursor:pointer;touch-action:manipulation}
.rf-route-controls .rf-roll-big{min-height:58px;font-size:26.6px;font-weight:700;background:linear-gradient(160deg,#4a7d55,#2b4b38);border-color:#d8dcac;box-shadow:0 4px 0 #1c2c20}
.rf-route-controls .rf-roll-big:active{transform:translateY(2px);box-shadow:0 2px 0 #1c2c20}
.rf-route-controls button:disabled{opacity:.45;cursor:default}
/* ---------- АЗС «Точная доза»: только заправка (.rf-fuel-*) ---------- */
/* Плашка режима: что за вариант сегодня — игрок видит это до первого нажатия. */
.rf-fuel-mode{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 6px;padding:5px 8px;border:1px solid #7d9d88;border-radius:7px;background:#22392e}
.rf-fuel-mode b{font:16.8px 'Space Mono',monospace;color:#f4ffe8;text-transform:lowercase}
.rf-fuel-mode span{font:12.6px 'Space Mono',monospace;color:#a9b7a9}
.rf-fuel-board{margin:11px 0 7px}.rf-fuel-track{position:relative;height:44px;border:2px solid #748a75;border-radius:9px;background:linear-gradient(90deg,#722f2f,#a36b39 44%,#8d482f);box-shadow:inset 0 3px 12px #0007;overflow:hidden}
.rf-fuel-track i{position:absolute;inset:0 auto 0 40%;width:20%;background:linear-gradient(90deg,#3c8f49,#a4e77e,#3c8f49);box-shadow:0 0 9px #b0f09099}
/* Вторая полоса варианта «две заслонки»: синяя, чтобы не путать её с основной. */
.rf-fuel-track u{position:absolute;inset:0 auto 0 40%;width:20%;display:none;background:linear-gradient(90deg,#2f5f8f,#7ecae7,#2f5f8f);box-shadow:0 0 9px #90d8f099}
/* Перелив: красная дорожка сверху шкалы растёт, когда держат дольше полосы. */
.rf-fuel-track em{position:absolute;top:0;left:0;height:6px;width:0;background:linear-gradient(90deg,#c0392b,#ff7a5c);box-shadow:0 0 7px #ff5b3b99}
.rf-fuel-track b{position:absolute;z-index:2;top:-5px;bottom:-5px;left:0;width:5px;border-radius:4px;background:#f9f4df;box-shadow:0 0 0 1px #1c2c20,0 0 7px #fff;transform:translateX(-50%)}
/* Струя идёт — колонка подсвечивается, игрок видит, что насос открыт. */
.rf-fuel-track.pouring{box-shadow:inset 0 3px 12px #0007,inset 0 0 0 2px #eacb74}
/* Отметка предела для «короткой струи». */
.rf-fuel-markers{position:relative;display:flex;justify-content:space-between;margin-top:5px;color:#a9b7a9;font:12.6px 'Space Mono',monospace}
.rf-fuel-markers #rfFuelLimitMark{color:#ffcf8a;font-weight:700}
/* Рамка трека по вариантам: пунктир — полоса движется, цвет — на что смотреть. */
.rf-fuel-track.v-double{border-color:#7ea9c9}
.rf-fuel-track.v-drift,.rf-fuel-track.v-creep{border-style:dashed;border-color:#c9b47e}
.rf-fuel-track.v-bounce{border-color:#c97e7e}
/* Индикатор порций: залитые, текущая. */
.rf-fuel-doses{display:flex;gap:5px;margin:2px 0 6px}
.rf-fuel-dose{flex:1 1 0;height:7px;border:1px solid #5f7a68;border-radius:4px;background:#1b2b23}
.rf-fuel-dose.filled{background:linear-gradient(90deg,#3c8f49,#a4e77e);border-color:#bfe9b0}
.rf-fuel-dose.active{border-color:#ffe69a;box-shadow:0 0 0 1px #ffe69a66}
.rf-fuel-info strong{font-weight:700}.rf-fuel-info span{color:#dfb58f}
@media(max-width:520px){.rf-route-stage{width:min(100%,324px)}.rf-route-board{gap:2px;padding:5px}.rf-road-cell{font-size:14px}.rf-road-cell.car,.rf-road-cell.goal{font-size:22.4px}.rf-road-cell.effect{font-size:15.4px}.rf-route-controls{grid-template-columns:1fr}.rf-route-controls .rf-roll-big{min-height:52px}}
