@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-cyrillic-ext-800-normal-GOAQXnVZ.woff2)format("woff2"),url(/assets/montserrat-cyrillic-ext-800-normal-mB3PmEeV.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-cyrillic-800-normal-DDmpGQGC.woff2)format("woff2"),url(/assets/montserrat-cyrillic-800-normal-B_mUCQ9O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-vietnamese-800-normal-BDwqwvSG.woff2)format("woff2"),url(/assets/montserrat-vietnamese-800-normal-Chy8GRiB.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-ext-800-normal-BBvmbyWk.woff2)format("woff2"),url(/assets/montserrat-latin-ext-800-normal-Wjq_OapB.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-800-normal-axpkC1rd.woff2)format("woff2"),url(/assets/montserrat-latin-800-normal-C3dfDxXV.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/montserrat-cyrillic-ext-900-normal-ET-C-0fX.woff2)format("woff2"),url(/assets/montserrat-cyrillic-ext-900-normal-CfuaLo5j.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/montserrat-cyrillic-900-normal-CrYcRZSi.woff2)format("woff2"),url(/assets/montserrat-cyrillic-900-normal-CGsoW8-j.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/montserrat-vietnamese-900-normal-DNvcOCEl.woff2)format("woff2"),url(/assets/montserrat-vietnamese-900-normal-Dz06HFPU.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/montserrat-latin-ext-900-normal-BTaqesvP.woff2)format("woff2"),url(/assets/montserrat-latin-ext-900-normal-DoASD5Eh.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/montserrat-latin-900-normal-B0TD3Qnu.woff2)format("woff2"),url(/assets/montserrat-latin-900-normal-BDWDmVut.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-cyrillic-ext-500-normal-DcO3I2lp.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-ext-500-normal-I3TfTkSf.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-cyrillic-500-normal-c5LjvaqX.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-500-normal-CLHyttEY.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-greek-ext-500-normal-DkhmZW4r.woff2)format("woff2"),url(/assets/eb-garamond-greek-ext-500-normal-CMJ7zNBO.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-greek-500-normal-BtA0fbXC.woff2)format("woff2"),url(/assets/eb-garamond-greek-500-normal-BjSCMh1N.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-vietnamese-500-normal-BCT1_K6u.woff2)format("woff2"),url(/assets/eb-garamond-vietnamese-500-normal-B0TRhMco.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-latin-ext-500-normal-BFuc0jzo.woff2)format("woff2"),url(/assets/eb-garamond-latin-ext-500-normal-obw7ZvB_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-latin-500-normal-DehAIUv0.woff2)format("woff2"),url(/assets/eb-garamond-latin-500-normal-DZU8xF9o.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-cyrillic-ext-600-normal-cjIjEMm6.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-ext-600-normal-b6vuEf1e.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-cyrillic-600-normal-CHfC3jm-.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-600-normal-koFutDBv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-greek-ext-600-normal-B6KG6Acg.woff2)format("woff2"),url(/assets/eb-garamond-greek-ext-600-normal-DzPSPp8W.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-greek-600-normal--vWuDlyL.woff2)format("woff2"),url(/assets/eb-garamond-greek-600-normal-JScKXZBq.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-vietnamese-600-normal-Dmi8L14S.woff2)format("woff2"),url(/assets/eb-garamond-vietnamese-600-normal-DgZMCD0h.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-latin-ext-600-normal-CrweTMKz.woff2)format("woff2"),url(/assets/eb-garamond-latin-ext-600-normal-CoWPx8v4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/eb-garamond-latin-600-normal-DHwxsLHv.woff2)format("woff2"),url(/assets/eb-garamond-latin-600-normal-xCe6GkOx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-cyrillic-ext-500-italic-uF9N42ci.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-ext-500-italic-DG1hthnQ.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-cyrillic-500-italic-DL1k_-z8.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-500-italic-Bl4RSiNW.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-greek-ext-500-italic-C9wqkm-R.woff2)format("woff2"),url(/assets/eb-garamond-greek-ext-500-italic-CuI3nqc3.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-greek-500-italic-BGwAan3a.woff2)format("woff2"),url(/assets/eb-garamond-greek-500-italic-BZsT-l1D.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-vietnamese-500-italic-DTf5CBKv.woff2)format("woff2"),url(/assets/eb-garamond-vietnamese-500-italic-BFEHB_3a.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-latin-ext-500-italic-C7s118Z8.woff2)format("woff2"),url(/assets/eb-garamond-latin-ext-500-italic-D8rZSVDp.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-latin-500-italic-FSVaZR0V.woff2)format("woff2"),url(/assets/eb-garamond-latin-500-italic-DgyxMZyx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0b0f13;--panel:#0f1319db;--panel-solid:#121820;--panel-raise:#1c222ae6;--hair:#ffeccd17;--hair-strong:#ffeccd29;--gold:#d6ab5e;--gold-bright:#f0c77a;--gold-dim:#d6ab5e59;--orange:#e8823a;--text:#efe6d2;--muted:#b1a894;--dim:#7c7567;--good:#5fd08a;--warn:#f1b64a;--bad:#ff7a5c;--info:#7fb2e5;--pass:#4a8fd6;--freight:#d0823a;--cyan:#37d0ff;--radius:10px;--f-ui:"Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--f-brand:"Montserrat", "Inter Variable", sans-serif;--f-serif:"EB Garamond", Georgia, serif;--shadow:0 12px 40px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--f-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45;overflow:hidden}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}::selection{background:#d6ab5e59}.caps{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-size:11px;font-weight:600}.gold-rule{background:linear-gradient(90deg, var(--gold), transparent);border:0;width:48px;height:2px;margin:8px 0 0;display:block}.panel{background:var(--panel);border:1px solid var(--hair);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px)saturate(1.1)}.panel-head{border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;gap:8px;padding:11px 14px 9px;display:flex}.panel-head h2{text-transform:uppercase;letter-spacing:.18em;color:var(--text);margin:0;font-size:11px;font-weight:700}.panel-body{padding:10px 14px 12px}.btn{border:1px solid var(--hair-strong);min-height:36px;color:var(--text);cursor:pointer;white-space:nowrap;background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:hover{border-color:var(--gold-dim);background:#ffffff14}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{color:#1b140a;background:linear-gradient(#e3b86a,#c49348);border-color:#f0c77a}.btn.primary:hover{background:linear-gradient(#edc57a,#cf9d52)}.btn.danger{color:#ffb3a1;border-color:#ff7a5c80}.btn.small{min-height:28px;padding:0 10px;font-size:12px}.btn.icon{width:36px;padding:0}.btn.active{border-color:var(--gold);color:var(--gold-bright);background:#d6ab5e29}.kbd{border:1px solid var(--hair-strong);text-align:center;min-width:20px;color:var(--muted);background:#ffffff0d;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.good{background:var(--good)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--bad)}.dot.idle{background:var(--dim)}.muted{color:var(--muted)}.dim{color:var(--dim)}.good{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}.home{flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.home-bg,.home-bg canvas{width:100%;height:100%;position:absolute;inset:0}.home-bg img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.home-vignette{pointer-events:none;background:linear-gradient(90deg,#080a0deb 0%,#080a0db3 32%,#080a0d1a 62%,#080a0d59 100%),linear-gradient(#080a0d00 70%,#080a0dbf 100%);position:absolute;inset:0}.home-topbar{z-index:2;background:linear-gradient(#080a0dcc,#080a0d00);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:14px 28px;display:flex;position:relative}.home-topbar .tag{text-transform:uppercase;letter-spacing:.3em;color:var(--muted);text-align:right;font-size:10px;line-height:1.8}.home-main{z-index:1;flex-direction:column;flex:auto;justify-content:flex-start;max-width:860px;min-height:0;padding:clamp(10px,2.5vh,24px) 6vw clamp(10px,4.5vh,44px);display:flex;position:relative;overflow:hidden}.home-main::-webkit-scrollbar{width:0;height:0}.wordmark{font-family:var(--f-brand);white-space:nowrap;letter-spacing:.04em;background:linear-gradient(#f7ecd6 0%,#d8c5a1 55%,#9d8662 100%);color:#0000;filter:drop-shadow(0 6px 18px #0000008c);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(40px,6.2vw,96px);font-weight:900;line-height:.95}.wordmark-logo{filter:drop-shadow(0 6px 16px #00000080);width:min(620px,100%,48vh);margin:0;line-height:0}.wordmark-logo img{width:100%;height:auto;display:block}.tagline{font-family:var(--f-serif);color:#f2e6cc;letter-spacing:.02em;margin:clamp(6px,1.6vh,14px) 0 0;font-size:clamp(16px,min(2.4vw,3.2vh),30px);font-weight:500}.home-menu{flex-direction:column;gap:clamp(4px,1.1vh,10px);max-width:380px;margin-top:clamp(8px,3vh,32px);display:flex}.menu-item{border:1px solid var(--hair);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left;cursor:pointer;background:#0e1218b8;border-radius:10px;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;width:100%;padding:clamp(6px,1.25vh,11px) 16px;transition:border-color .15s,background .15s,transform .15s;display:grid}.menu-item:hover:not(:disabled){border-color:var(--gold-dim);background:#181c22db;transform:translate(4px)}.menu-item:disabled{cursor:default;opacity:.62}.menu-item .mi-icon{width:38px;height:38px;color:var(--gold-bright);background:#d6ab5e1f;border-radius:8px;place-items:center;display:grid}.menu-item.main .mi-icon{color:#1b140a;background:linear-gradient(#e3b86a,#c49348)}.menu-item .mi-title{font-size:15px;font-weight:700}.menu-item .mi-sub{color:var(--muted);font-size:12px}.badge{text-transform:uppercase;letter-spacing:.12em;border:1px solid var(--hair-strong);color:var(--muted);white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:10px}.badge.gold{border-color:var(--gold-dim);color:var(--gold-bright)}.home-foot{z-index:1;flex-wrap:wrap;flex:none;justify-content:flex-start;align-items:flex-end;gap:8px 40px;padding:10px 6vw 22px;display:flex;position:relative}.home-foot-brand{text-transform:uppercase;letter-spacing:.4em;color:var(--muted);font-size:10px;line-height:2}.home-side{z-index:1;width:340px;position:absolute;bottom:24px;right:24px}.train-row{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:22px 44px 10px 1fr auto 14px;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:12px;display:grid}.train-row:hover,.train-row.selected{background:#ffffff0f}.train-row.selected{box-shadow:inset 2px 0 0 var(--cyan)}.train-row .tr-name{letter-spacing:.02em;font-weight:800}.train-row .tr-route{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.train-row .tr-state{white-space:nowrap;font-size:11px;font-weight:600}.train-kind{color:var(--pass)}.train-kind.freight{color:var(--freight)}.screen{background:radial-gradient(1200px 600px at 80% -10%, #e8823a2e, transparent 60%), radial-gradient(900px 500px at -10% 110%, #d6ab5e1f, transparent 60%), var(--bg);height:100%;position:relative;overflow-y:auto}.screen-inner{max-width:1180px;margin:0 auto;padding:28px 28px 60px}.screen-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:26px;display:flex}.screen-head h1{font-family:var(--f-brand);letter-spacing:.05em;margin:6px 0 0;font-size:34px;font-weight:900}.mission-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.mission-card{border:1px solid var(--hair);text-align:left;cursor:pointer;background:linear-gradient(#221e18e6,#101318f2);border-radius:14px;flex-direction:column;gap:8px;min-height:230px;padding:18px;transition:transform .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.mission-card:before{content:"";pointer-events:none;background:radial-gradient(400px 160px at 100% 0,#e8823a29,#0000 70%);position:absolute;inset:0}.mission-card:hover:not(:disabled){border-color:var(--gold-dim);transform:translateY(-3px)}.mission-card:disabled{cursor:default;filter:grayscale(.7);opacity:.6}.mission-card .chapter{font-family:var(--f-brand);color:#d6ab5e47;font-size:44px;font-weight:900;line-height:1}.mission-card h3{font-size:19px;font-family:var(--f-serif);letter-spacing:.01em;margin:0;font-weight:600}.mission-card p{color:var(--muted);margin:0;font-size:13px}.mission-card .meta{color:var(--muted);align-items:center;gap:10px;margin-top:auto;font-size:12px;display:flex}.stars{color:var(--gold-bright);gap:2px;display:inline-flex}.stars .off{color:#d6ab5e40}.modal-backdrop{z-index:50;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background:#050709b8;place-items:center;animation:.2s ease-out fade;display:grid;position:fixed;inset:0}.modal{width:min(680px,100%);max-height:calc(var(--vvh,100dvh) - max(20px, env(safe-area-inset-top)) - max(20px, env(safe-area-inset-bottom)));border:1px solid var(--hair-strong);background:linear-gradient(#1e1b16f7,#0f1217fa);border-radius:16px;animation:.25s ease-out rise;overflow-y:auto;box-shadow:0 30px 80px #0009}.modal-head{padding:22px 26px 8px}.modal-head h2{font-family:var(--f-serif);margin:4px 0 0;font-size:30px;font-weight:600;line-height:1.1}.modal-body{padding:8px 26px 18px}.modal-body p{color:#ddd3bf;margin:0 0 10px}.modal-foot{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 26px 22px;display:flex}.section-title{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin:18px 0 8px;font-size:11px;font-weight:700}.list{color:#ddd3bf;margin:0;padding-left:18px}.list li{margin:4px 0}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(12px)scale(.98)}}.game{background:#0c1014;height:100%;position:relative;overflow:hidden}.map-canvas{touch-action:none;cursor:grab;display:block;position:absolute;inset:0}.map-canvas.dragging{cursor:grabbing}.map-canvas.pointing{cursor:pointer}.topbar{z-index:10;border-bottom:1px solid var(--hair);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#0a0c10f0,#0a0c10d1);align-items:center;gap:14px;height:52px;padding:0 12px 0 16px;display:flex;position:absolute;top:0;left:0;right:0}.brand-mini{cursor:pointer;font-family:var(--f-brand);letter-spacing:.14em;color:#efe2c6;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:15px;font-weight:900;display:flex}.topbar .mission-name{flex-direction:column;min-width:0;line-height:1.15;display:flex}.topbar .mission-name b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.topbar .sep{background:var(--hair-strong);width:1px;height:26px}.clock{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.speed{border:1px solid var(--hair);background:#ffffff0a;border-radius:9px;gap:3px;padding:3px;display:flex}.speed button{min-width:34px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0 6px;font-size:12px;font-weight:700;display:grid}.speed button:hover{color:var(--text);background:#ffffff0f}.speed button.on{color:var(--gold-bright);background:#d6ab5e33}.spacer{flex:1}.hud-left{z-index:5;flex-direction:column;gap:10px;width:300px;max-height:calc(100% - 256px);display:flex;position:absolute;top:64px;left:12px}.hud-right{z-index:5;flex-direction:column;gap:10px;width:360px;max-height:calc(100% - 76px);display:flex;position:absolute;top:64px;right:12px}.hud-right .panel,.hud-left .panel{min-height:0}:is(.hud-right .panel:has(.fold-btn[aria-expanded=false]),.hud-left .panel:has(.fold-btn[aria-expanded=false])){flex-shrink:0}@media (width>=1101px){.hud-right{max-height:calc(100% - 296px)}}.scroll{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;overflow-y:auto}.objective{grid-template-columns:18px 1fr;gap:8px;padding:6px 0;font-size:13px;display:grid}.objective .ob-bar{background:#ffffff14;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.objective .ob-bar i{background:linear-gradient(90deg, var(--gold), var(--gold-bright));height:100%;transition:width .4s;display:block}.objective.done{color:var(--good)}.objective.done .ob-bar i{background:var(--good)}.feed{z-index:5;pointer-events:none;flex-direction:column-reverse;gap:6px;width:min(460px,100% - 24px);display:flex;position:absolute;bottom:12px;left:12px}.feed-discret{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden}.feed-item{pointer-events:auto;border:1px solid var(--hair);border-left:3px solid var(--info);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left;background:#0e1218db;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:12.5px;animation:.3s ease-out slidein;display:flex}.feed-item .time{color:var(--dim);font-variant-numeric:tabular-nums;font-weight:600}.feed-item.good{border-left-color:var(--good)}.feed-item.warn{border-left-color:var(--warn)}.feed-item.alert{border-color:#ff7a5c57;border-left-color:var(--bad);background:#2e1511e6;animation:.3s ease-out slidein,1.1s ease-out 2 alerte}.feed-item .feed-mark,.m-alert .feed-mark{color:var(--warn);flex:none}.feed-item.alert .feed-mark,.m-alert.alert .feed-mark{color:var(--bad)}.feed-item .feed-mark.ended,.m-alert .feed-mark.ended{color:var(--good)}.m-alert.good{border-left-color:var(--good)}@keyframes slidein{0%{opacity:0;transform:translate(-12px)}}@keyframes alerte{0%,to{box-shadow:0 0 #ff7a5c00}35%{box-shadow:0 0 0 3px #ff7a5c42}}.card-row{justify-content:space-between;gap:10px;padding:4px 0;font-size:12.5px;display:flex}.card-row .k{color:var(--muted)}.card-row .v{text-align:right;font-weight:600}.reason{background:#ff7a5c1a;border:1px solid #ff7a5c4d;border-radius:8px;align-items:flex-start;gap:10px;margin:8px 0;padding:10px 12px;font-size:13px;display:flex}.reason.info{background:#7fb2e514;border-color:#7fb2e540}.reason.gold{background:#d6ab5e1a;border-color:#d6ab5e66}.actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.route-choice{border:1px solid var(--hair);cursor:pointer;text-align:left;background:#ffffff08;border-radius:8px;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;width:100%;margin:4px 0;padding:8px 10px;font-size:13px;display:grid}.route-choice:hover:not(:disabled),.route-choice.hover{border-color:var(--gold);background:#d6ab5e1a}.route-choice:disabled{cursor:not-allowed;opacity:.7}.route-choice .num{border:2px solid var(--gold);width:24px;height:24px;color:var(--gold-bright);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.route-choice.blocked .num{border-color:var(--bad);color:var(--bad)}.route-choice.incompatible .num{border-color:var(--dim);color:var(--muted)}.hint{z-index:20;border:1px solid var(--gold-dim);background:linear-gradient(#262018f7,#14161af7);border-radius:12px;width:min(520px,100% - 24px);padding:16px 18px 14px;animation:.25s ease-out rise;position:absolute;top:66px;left:50%;transform:translate(-50%);box-shadow:0 18px 50px #0000008c}.hint h3{font-family:var(--f-serif);color:var(--gold-bright);margin:0 0 6px;font-size:22px;font-weight:600}.hint p{color:#e6dcc6;margin:0;font-size:13.5px}.hint .hint-foot{justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.toasts{z-index:30;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--hair-strong);box-shadow:var(--shadow);background:#0e1218f2;border-radius:10px;max-width:560px;padding:10px 16px;font-size:13px;animation:.2s ease-out rise}.toast.error{color:#ffd2c6;border-color:#ff7a5c8c}.toast.good{border-color:#5fd08a80}.buildbar{z-index:6;flex-direction:column;align-items:center;gap:6px;max-width:min(760px,100% - 24px);padding:8px 10px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.buildbar-tools{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.buildbar-info{align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.minimap{z-index:5;width:260px;padding:0;position:absolute;bottom:12px;right:12px;overflow:hidden}.minimap canvas{cursor:crosshair;width:100%;display:block}.end-stars{justify-content:center;gap:10px;margin:10px 0 4px;font-size:38px;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0;display:grid}.stat{border:1px solid var(--hair);background:#ffffff0a;border-radius:10px;padding:12px}.stat .n{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:20px;font-weight:800}.selection-scroll{scrollbar-width:thin;max-height:min(62vh,640px);overflow-y:auto}.stat .l{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:11px}table.plain{border-collapse:collapse;width:100%;font-size:12.5px}table.plain th,table.plain td{border-bottom:1px solid var(--hair);text-align:left;padding:6px 8px}table.plain th{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10.5px;font-weight:600}.help-grid{grid-template-columns:auto 1fr;align-items:center;gap:8px 16px;font-size:13px;display:grid}.legend{grid-template-columns:28px 1fr;align-items:center;gap:8px 10px;font-size:13px;display:grid}.field{gap:5px;margin:10px 0;display:grid}.field-hint{font-size:11.5px}.input,.field input,.field select,.field textarea,.contract-form select,.contract-form input{border:1px solid var(--hair-strong);width:100%;min-height:36px;color:var(--text);font:inherit;background:#00000047;border-radius:8px;padding:7px 10px;font-size:13.5px}.field textarea{resize:vertical}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #d6ab5e2e}select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}select option,select optgroup{color:var(--text);background-color:#171b21}select option:checked{color:var(--gold-bright);background-color:#3b301d}select option:disabled{color:#7d7568}.link{color:var(--gold-bright);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.link:hover{text-decoration:underline}.tabs{border-bottom:1px solid var(--hair);gap:4px;margin-bottom:12px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.tabs button.on{color:var(--gold-bright);border-bottom-color:var(--gold)}.tabs.small{scrollbar-width:none;border:0;flex:1;margin:0;overflow-x:auto}.tabs.small button{letter-spacing:0;padding:4px 7px 8px;font-size:12px}.count,.badge-count{background:var(--orange);color:#1a0e0a;text-align:center;letter-spacing:0;border-radius:999px;min-width:16px;padding:0 5px;font-size:10px;font-weight:800;line-height:16px}.badge-count{position:absolute;transform:translate(10px,-10px)}.swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block;box-shadow:0 0 0 1px #0006}.account-chip{border:1px solid var(--hair-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);font:inherit;cursor:pointer;background:#0a0c108c;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:13px;font-weight:600;display:inline-flex}.account-chip:hover:not(:disabled){border-color:var(--gold-dim)}.account-chip:disabled{opacity:.55;cursor:default}.link-status{border:1px solid var(--hair);color:var(--muted);white-space:nowrap;background:#ffffff0a;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.toggle-row{cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:5px 0;font-size:13px;display:grid}.toggle-row input{width:16px;height:16px;accent-color:var(--gold)}.contract{border:1px solid var(--hair);border-left:3px solid var(--gold-dim);background:#ffffff08;border-radius:8px;margin-bottom:7px;padding:9px 10px;font-size:13px}.contract.active{border-left-color:var(--info)}.contract.done{border-left-color:var(--good);opacity:.8}.contract.failed,.contract.cancelled{border-left-color:var(--bad);opacity:.6}.contract .ob-bar{background:#ffffff14;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.contract .ob-bar i{background:var(--info);height:100%;display:block}.contract-form{border:1px solid var(--gold-dim);background:#d6ab5e0d;border-radius:8px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;padding:10px;display:grid}.contract-form label{gap:4px;display:grid}.contract-form .caps{font-size:9.5px}.player-row{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;padding:7px 6px;font-size:13px;display:grid}.player-row:hover{background:#ffffff0d}.chat-dock{z-index:7;flex-direction:column;width:340px;height:min(380px,100% - 140px);display:flex;position:absolute;bottom:12px;left:12px}.game.chat-open .hud-left{max-height:calc(100% - 468px)}.game.chat-open .feed{width:min(420px,100% - 376px);bottom:70px;left:364px}.chat-list{flex:1;min-height:0;padding:6px 10px}.chat-msg{padding:5px 0;font-size:13px;position:relative}.chat-meta{align-items:baseline;gap:8px;font-size:11.5px;display:flex}.chat-msg.mine .chat-meta .link{color:var(--muted)}.chat-text{overflow-wrap:anywhere;color:#e8dfcc}.chat-more{color:var(--dim);cursor:pointer;background:0 0;border:0;border-radius:4px;margin-left:auto;padding:0 6px;font-size:14px;line-height:1}.chat-more:hover{color:var(--text);background:#ffffff12}.chat-menu{flex-wrap:wrap;gap:6px;margin-top:5px;display:flex}.chat-input{border-top:1px solid var(--hair);gap:6px;padding:8px 10px 10px;display:flex}.chat-report{border-top:1px solid var(--gold-dim);background:#d6ab5e0f;gap:6px;padding:10px;display:grid}.segmented{border:1px solid var(--hair);background:#ffffff08;border-radius:8px;gap:4px;margin-bottom:10px;padding:3px;display:flex}.segmented button{min-height:26px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.segmented button.on{color:var(--gold-bright);background:#d6ab5e2e}.shipment{border:1px solid var(--hair);border-left:3px solid var(--good);background:#ffffff08;border-radius:8px;margin-bottom:7px;padding:9px 10px;font-size:13px}.shipment.relay{border-left-color:var(--gold);background:#d6ab5e0f}.shipment .legs{color:var(--muted);gap:3px;margin:6px 0 0;padding:0;font-size:11.5px;list-style:none;display:grid}.shipment .legs li{grid-template-columns:12px 1fr;align-items:center;gap:6px;display:grid}.join-code{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:8px;padding:14px 16px;display:flex}.join-code .input{margin-top:6px}.invite-box{border:1px solid var(--gold-dim);background:#d6ab5e12;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:6px 10px;margin-top:10px;padding:10px 12px;display:grid}.invite-box code{overflow-wrap:anywhere;color:var(--gold-bright);font-size:12.5px}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;display:grid}.achievement{border-bottom:1px solid var(--hair);grid-template-columns:22px 1fr;gap:10px;padding:8px 0;display:grid}.miniature{border-radius:8px;width:100%;display:block}.hint.below{top:auto;bottom:96px}.game.compact .m-topbar{z-index:10;height:46px;padding:0 max(8px, env(safe-area-inset-right)) 0 max(8px, env(safe-area-inset-left));border-bottom:1px solid var(--hair);background:linear-gradient(#0a0c10f2,#0a0c10d6);align-items:center;gap:6px;display:flex;position:absolute;top:0;left:0;right:0}.m-btn{border:1px solid var(--hair-strong);min-width:42px;height:38px;color:var(--text);font:inherit;cursor:pointer;background:#ffffff0d;border-radius:10px;place-items:center;padding:0 9px;font-size:13px;font-weight:700;display:inline-grid;position:relative}.m-btn.active{border-color:var(--gold);color:var(--gold-bright);background:#d6ab5e29}.m-btn .badge-count,.m-rail-btn .badge-count{position:absolute;top:-5px;right:-5px;transform:none}.m-clock{font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.m-spacer{flex:1}.m-money{color:var(--gold-bright);white-space:nowrap;font-size:13px;font-weight:700}.m-rail{z-index:9;top:54px;bottom:8px;left:max(6px, env(safe-area-inset-left));scrollbar-width:none;flex-direction:column;gap:6px;display:flex;position:absolute;overflow-y:auto}.m-rail-btn{border:1px solid var(--hair-strong);background:var(--panel);width:60px;min-height:50px;color:var(--muted);font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;font-size:9.5px;font-weight:700;display:flex;position:relative}@media (height<=400px){.m-rail{gap:4px}.m-rail-btn{min-height:44px}}.m-rail-btn.active{color:var(--gold-bright);border-color:var(--gold)}.m-sheet{z-index:12;width:min(390px,50vw);height:calc(var(--vvh,100dvh) - 46px);padding-right:env(safe-area-inset-right);border-left:1px solid var(--hair-strong);background:#0d1015;flex-direction:column;animation:.15s ease-out fade;display:flex;position:absolute;top:46px;right:0;box-shadow:-12px 0 30px #00000073}.game.compact.portrait .m-sheet{width:auto;height:auto;max-height:min(58%, calc(var(--vvh,100dvh) - 60px));border-left:0;border-top:1px solid var(--hair-strong);padding-bottom:env(safe-area-inset-bottom);border-radius:16px 16px 0 0;top:auto;bottom:0;left:0}.game.compact.portrait .m-sheet.full{height:min(58%, calc(var(--vvh,100dvh) - 60px))}.m-sheet-head{border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;padding:4px 6px 4px 14px;display:flex}.m-sheet-body{overscroll-behavior:contain;flex:1;min-height:0;padding:6px;overflow-y:auto}.m-sheet .panel{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;margin-bottom:4px}.m-sheet .selection-scroll{max-height:none}.m-sheet .chat-dock{width:auto;height:100%;box-shadow:none;border:0;position:static}.chat-close{width:26px;min-height:26px}.m-sheet.full>.m-sheet-head{display:none}.game.compact .chat-close{width:40px;min-height:40px}@media (height<=300px){.game.compact .m-sheet.full{height:var(--vvh,100dvh);z-index:13;top:0}}.m-alert{z-index:11;border:1px solid var(--hair-strong);border-left:3px solid var(--warn);max-width:470px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:#16100cf2;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;animation:.2s ease-out rise;display:flex;position:absolute;top:52px;left:76px;right:12px}.m-alert.alert{border-left-color:var(--bad)}.m-alert .time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.game.compact.landscape.sheet-open .m-alert,.game.compact.landscape.sheet-open .hint,.game.compact.landscape.sheet-open .buildbar{right:calc(min(390px,50vw) + 10px)}.game.compact .buildbar{left:76px;right:10px;bottom:max(8px, env(safe-area-inset-bottom));max-width:none;padding:6px 8px;transform:none}.game.compact .hint{width:auto;max-width:540px;padding:10px 12px 8px;top:52px;left:76px;right:12px;transform:none}.game.compact .hint.below{top:auto;bottom:10px}.game.compact.build-open .hint.below{bottom:96px}.game.compact .hint h3{margin-bottom:2px;font-size:17px}.game.compact .hint p{font-size:12.5px;line-height:1.4}.game.compact .hint .hint-foot{margin-top:6px}.game.compact .toasts{bottom:64px}.game.compact .btn.small{min-height:38px;padding:0 12px;font-size:13px}.game.compact .route-choice{min-height:52px}.game.compact .btn.icon,.game.compact .btn.icon.small{min-width:40px;min-height:40px;padding:0;width:40px!important}.game.compact .train-row{min-height:44px}.game.compact .tabs.small button{padding:8px 8px 10px}.buildbar.touch .btn.small{min-height:40px}.route-confirm{background:#37d0ff14;border:1px solid #37d0ff99;border-radius:10px;gap:6px;margin:4px 0 8px;padding:10px;font-size:13px;display:grid}.route-confirm .btn{min-height:44px}.route-legend{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:11px;display:flex}.lg{vertical-align:middle;border-radius:2px;width:18px;height:4px;margin-right:4px;display:inline-block}.lg.proposed{background:repeating-linear-gradient(90deg,#37d0ff 0 6px,#0000 6px 9px)}.lg.free{background:var(--gold)}.lg.blocked{background:repeating-linear-gradient(90deg, var(--bad) 0 3px, transparent 3px 6px)}.lg.reserved{background:#fff1c2;box-shadow:0 0 6px #ffdc96b3}.rotate-overlay{z-index:60;text-align:center;background:#080a0df2;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:fixed;inset:0}.rotate-overlay h2{font-family:var(--f-serif);margin:0;font-size:28px}.rotate-overlay p{max-width:320px;color:var(--muted);margin:0}.rotate-overlay .btn{min-width:240px;min-height:46px}.rotate-icon{color:var(--gold-bright);animation:2.4s ease-in-out infinite rotate-hint}@keyframes rotate-hint{0%,20%{transform:rotate(0)}50%,70%{transform:rotate(-90deg)}to{transform:rotate(0)}}.hint-pill{z-index:20;border:1px solid var(--gold-dim);min-height:38px;color:var(--gold-bright);font:inherit;cursor:pointer;background:#1e1a14f2;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex;position:absolute;top:52px;left:76px}.hint-pill.below{top:auto;bottom:10px}@media (height<=540px),(width<=540px){.modal{max-height:calc(var(--vvh,100dvh) - max(8px, env(safe-area-inset-top)) - max(8px, env(safe-area-inset-bottom)))}.modal-backdrop{padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left))}.modal-head{padding:14px 16px 6px}.modal-head h2{font-size:22px}.modal-body{padding:6px 16px 12px}.modal-foot{padding:8px 16px 14px}.modal-foot .btn,.modal .btn{min-height:42px}.spot-choice{max-height:180px;overflow-y:auto}}@media (width<=1100px){.hud-left{width:260px}.hud-right{width:320px}.minimap{display:none}}@media (width<=760px){.hud-left{display:none}.chat-dock{z-index:8;width:auto;bottom:12px;left:12px;right:12px}.game.chat-open .feed{width:calc(100% - 24px);left:12px}.hud-right{width:auto;max-height:45%;inset:auto 12px 12px}.feed{top:64px;bottom:auto}.topbar .mission-name,.topbar .hide-sm{display:none}.home{flex-direction:column;display:flex}.home-topbar{padding:12px max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));flex-wrap:wrap;justify-content:flex-start}.home-topbar .tag,.home-foot-brand,.home-side{display:none}.home-foot{padding:4px max(20px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left))}.home-main{height:auto;min-height:0;padding:18px max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));flex:auto;overflow-y:auto}}@media (height>=541px){.home-main>:first-child{margin-top:auto}.home-main>:last-child{margin-bottom:auto}}@media (height>=541px) and (height<=820px) and (width>=761px){.home-main{padding-top:18px;padding-bottom:22px}.wordmark-logo{width:min(470px,100%,44vh)}.tagline{margin-top:10px}.home-menu{margin-top:clamp(8px,2.6vh,22px)}.menu-item{padding:clamp(5px,1.1vh,9px) 16px}.home-foot-brand{display:none}.home-foot{padding-top:4px;padding-bottom:16px}}@media (height>=541px) and (height<=660px) and (width>=761px){.wordmark-logo{width:min(380px,100%)}.home-menu{grid-template-columns:1fr 1fr;max-width:780px;margin-top:16px;display:grid}}@media (height<=540px){.home-topbar{padding:10px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left))}.home-topbar .tag,.home-foot-brand,.home-side{display:none}.home-foot{padding:2px max(16px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.home-main{max-width:720px;padding:14px max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));justify-content:flex-start;overflow-y:auto}.wordmark{font-size:40px}.wordmark-logo{width:min(400px,100%,46vh)}.tagline{margin-top:clamp(2px,1vh,6px);font-size:clamp(13px,3vh,17px)}.home-main .gold-rule{display:none}.home-menu{grid-template-columns:1fr 1fr;gap:clamp(4px,1.4vh,8px);max-width:none;margin-top:clamp(6px,3vh,14px);display:grid}.menu-item .mi-sub{display:none}.menu-item{padding:8px 12px}.menu-item .mi-sub{font-size:11px}}.offline-banner{z-index:70;bottom:max(10px, env(safe-area-inset-bottom));pointer-events:none;color:#f6dfb0;text-align:center;background:#1e160af5;border:1px solid #f1b64a80;border-radius:999px;width:max-content;max-width:calc(100% - 24px);padding:7px 14px;font-size:13px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000073}@media (width<=600px){.screen-inner{padding:18px 16px 48px}.screen-head{flex-wrap:wrap;align-items:flex-start}.screen-head>div:last-child{flex-wrap:wrap}.screen-head h1{font-size:28px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat .n{font-size:17px}.join-code .btn{width:100%}.modal .btn.small{min-width:44px}.home-topbar{padding:10px max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));gap:6px}.home-main{padding-right:max(16px, env(safe-area-inset-right));padding-left:max(16px, env(safe-area-inset-left))}}@media (pointer:coarse){.btn.small{min-height:36px}.btn.icon{min-width:40px;min-height:40px}.speed button{min-width:40px;height:36px}.route-choice{min-height:48px}.train-row{min-height:42px}.brand-mini,.tabs button{min-height:40px}.chat-more{min-width:36px;min-height:32px}.home-legal .linklike{align-items:center;min-height:32px;display:inline-flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root[data-motion=reduit] *,:root[data-motion=reduit] :before,:root[data-motion=reduit] :after{transition-duration:.01ms!important;animation-duration:.01ms!important}.challenge{border:1px solid var(--hair);border-left:3px solid var(--gold);background:#ffffff08;border-radius:10px;gap:6px;padding:10px 12px;font-size:13px;line-height:1.45;display:grid}.challenge.done{border-left-color:var(--good)}.challenge.failed{border-left-color:var(--bad)}.challenge.expired{border-left-color:var(--hair-strong);opacity:.75}.challenge header{color:var(--gold-bright);grid-template-columns:18px 1fr auto;align-items:start;gap:8px;display:grid}.challenge header strong{color:var(--text);font-size:14px;line-height:1.3}.challenge p{color:var(--muted);margin:0}.challenge p.effect{color:var(--text)}.challenge ul{gap:3px;margin:0;padding-left:18px;display:grid}.challenge .measure{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.challenge .ob-bar{background:#ffffff14;border-radius:2px;height:4px;overflow:hidden}.challenge .ob-bar i{background:linear-gradient(90deg, var(--gold), var(--gold-bright));height:100%;transition:width .4s;display:block}.challenge.done .ob-bar i{background:var(--good)}.challenges-panel .panel-body{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.hud-left .challenges-panel{flex-direction:column;display:flex}.hud-left .challenges-panel .panel-body{min-height:0}.challenge{min-width:0}.challenge-actions{flex-wrap:wrap;gap:6px;display:flex}.challenge-actions .btn{white-space:normal;text-align:left;height:auto;min-height:30px}.settings{gap:12px;display:grid}.setting{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.setting p{margin:2px 0 0;font-size:12px}.btn.toggle{justify-content:center;min-width:110px}.btn.toggle.on{border-color:var(--gold-dim);color:var(--gold-bright)}.settings-fold{border:1px solid var(--hair);border-radius:10px;padding:8px 12px}.settings-fold summary{cursor:pointer;align-items:center;min-height:32px;font-weight:700;display:flex}.settings-fold[open] summary{margin-bottom:8px}.account-chip.icon-only{flex:none;justify-content:center;width:40px;height:40px;padding:0}.home-spacer{flex:1}@media (pointer:coarse){.segmented button{min-height:40px}.chat-meta .link{min-height:32px;padding:0 4px}}.game.compact.portrait .m-rail{gap:4px}.game.compact.portrait .m-rail-btn{min-height:44px}.game.compact.portrait .m-sheet:not(.full){max-height:min(58%, calc(var(--vvh,100dvh) - 350px))}.notif-panel{z-index:30;flex-direction:column;width:min(380px,100% - 24px);max-height:min(70vh,560px);display:flex;position:absolute;top:58px;right:12px}.notif-panel .panel-body{min-height:0;overflow-y:auto}.segmented.small button{min-height:24px;padding:2px 8px;font-size:11px}@media (pointer:coarse){.segmented.small button{min-height:36px}}.fold-btn{width:24px;min-height:24px}@media (pointer:coarse){.fold-btn{width:36px;min-height:36px}}.hint-history{gap:6px;margin-bottom:14px;display:grid}.hint-history details{border:1px solid var(--hair);border-radius:8px;padding:6px 10px}.hint-history summary{cursor:pointer;align-items:center;min-height:28px;font-weight:700;display:flex}.hint-history p{color:var(--muted);margin:6px 0;font-size:13px}.train-portrait{background:#505c3a59;border-radius:6px;display:block}.consist{margin-top:6px}.consist summary{cursor:pointer;align-items:center;min-height:24px;font-size:10px;display:flex}.consist .train-portrait{margin:6px 0}summary.fold-sum{cursor:pointer;align-items:center;gap:6px;list-style:none;display:flex}summary.fold-sum::-webkit-details-marker{display:none}.fold-caret{color:var(--gold);flex:none;transition:transform .14s,color .14s}details[open]>summary>.fold-caret{transform:rotate(90deg)}summary.fold-sum:hover .fold-caret,summary.fold-sum:focus-visible .fold-caret,summary.fold-sum:hover>span,summary.fold-sum:focus-visible>span{color:var(--gold-bright)}.fold-count{color:var(--muted);letter-spacing:normal;text-transform:none;font-size:11px;font-weight:400}@media (pointer:coarse){summary.fold-sum{min-height:32px}}.consist-list{gap:6px;margin:0;padding-left:16px;font-size:12px;display:grid}.cargo-chips{vertical-align:middle;flex-wrap:wrap;gap:4px;display:inline-flex}.cargo-chip{border:1px solid var(--hair);border-radius:999px;align-items:center;gap:4px;padding:1px 6px;font-size:11px;display:inline-flex}.cargo-chip i{border-radius:2px;width:8px;height:8px;display:inline-block}.fleet-actions{border-top:1px solid var(--hair);gap:8px;margin-top:10px;padding-top:10px;display:grid}.recompose{gap:6px;display:grid}.recompose-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.recompose-row select{flex:1;min-width:140px}.spot-choice{gap:6px;display:grid}.spot-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;font-size:13px;display:flex}.spot-ways{flex-wrap:wrap;gap:6px;display:flex}.region-panel,.operations-panel{flex-direction:column;display:flex}.region-tabs{margin:8px 12px 0}.region-body,.ops-body{grid-template-columns:minmax(0,1fr);gap:8px;min-height:0;display:grid}.empty-note{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.project,.incident{border:1px solid var(--hair);border-left:3px solid var(--gold-dim);background:#ffffff06;border-radius:10px;gap:6px;min-width:0;padding:10px 12px;display:grid}.project.active{border-left-color:var(--gold)}.project.done{border-left-color:var(--good)}.project.sector{border-left-color:var(--hair-strong);border-style:dashed}.project header,.incident header{color:var(--gold-bright);grid-template-columns:18px 1fr auto;align-items:start;gap:8px;display:grid}.project header strong,.incident header strong{color:var(--text);font-size:14px;line-height:1.3}.project p,.incident p{color:var(--muted);margin:0}.badge.good{color:var(--good);border-color:#5fd08a66}.badge.bad{color:var(--bad);border-color:#ff7a5c73}.stage-line{color:var(--gold-bright);font-size:12px;font-weight:600}.need{gap:3px;display:grid}.need-head{justify-content:space-between;gap:8px;font-size:12px;display:flex}.need-head .dim{font-variant-numeric:tabular-nums;text-align:right}.need-bar{background:#ffffff14;border-radius:3px;height:6px;position:relative;overflow:hidden}.need-bar i,.need-bar b{position:absolute;top:0;bottom:0;left:0}.need-bar i{background:linear-gradient(90deg, var(--gold), var(--gold-bright));transition:width .4s}.need-bar b{background:repeating-linear-gradient(135deg,#f0c77a73 0 4px,#f0c77a33 4px 8px)}.project-state{color:var(--text);font-size:12.5px}.project-state.wait{color:var(--warn)}.project-link,.challenge p.related{color:var(--warn);font-size:12px}.project-more{border-top:1px solid var(--hair);gap:6px;padding-top:6px;display:grid}.project-more .caps{margin-top:4px;font-size:10px}ol.stages{gap:4px;margin:0;padding-left:18px;font-size:12px;display:grid}ol.stages li{color:var(--muted)}ol.stages li b{color:var(--text);font-weight:600;display:block}ol.stages li.done b{color:var(--good)}ol.stages li.current b{color:var(--gold-bright)}ol.stages li span{font-size:11.5px}.plain-list{color:var(--muted);gap:3px;margin:0;padding-left:16px;font-size:12px;display:grid}.plain-list.history{padding-left:0;list-style:none}table.before-after th{text-align:right;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-size:10px}table.before-after td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}table.before-after td.good{color:var(--good)}table.before-after td.warn{color:var(--warn)}.linklike{color:var(--gold-bright);text-underline-offset:2px;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.incident.major{border-left-color:var(--bad);background:#ff7a5c0d}.incident.minor{border-left-color:var(--warn)}.incident p.effect{color:var(--text)}.incident p.risk{color:var(--warn);font-size:12.5px}.incident .measure{color:var(--gold-bright);font-size:12px}.chips{flex-wrap:wrap;gap:4px;display:flex}.chip{border:1px solid var(--hair-strong);min-height:26px;color:var(--text);font:inherit;cursor:pointer;background:#ffffff0a;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.rescue{background:#00000038;border-radius:8px;gap:6px;padding:8px;display:grid}.rescue .caps{font-size:10px}.rescue .field{color:var(--muted);gap:3px;font-size:12px;display:grid}.rescue select{border:1px solid var(--hair-strong);min-height:32px;color:var(--text);font:inherit;background:#171b21;border-radius:6px;padding:4px 8px;font-size:12.5px}.rescue .btn{white-space:normal;text-align:left;height:auto;min-height:32px}.report-line{border-bottom:1px solid var(--hair);gap:2px;padding:6px 0;font-size:12px;display:grid}.wear-note{color:var(--muted);font-size:12px;line-height:1.5}.since{gap:8px;max-height:min(60vh,560px);display:grid;overflow-y:auto}.since-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.since-list li{border-left:2px solid var(--hair-strong);background:#ffffff06;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;font-size:12.5px;display:flex}.since-list li.good{border-left-color:var(--good)}.since-list li.warn{border-left-color:var(--warn)}.since-list li.alert,.since-list li.todo{border-left-color:var(--gold)}.since-list.compact li{color:var(--muted);padding:3px 8px;font-size:12px}@media (width<=1100px){.region-tabs{margin:6px 8px 0}}.adm .reason{display:block}.adm-shell{grid-template-columns:230px 1fr;min-height:100%;display:grid}.adm-nav{height:var(--vvh,100dvh);border-right:1px solid var(--hair);background:#0a0d11d9;flex-direction:column;align-self:start;gap:4px;padding:16px 12px;display:flex;position:sticky;top:0}.adm-brand{align-items:center;gap:10px;margin-bottom:14px;display:flex}.adm-who{color:var(--muted);font-size:12px}.adm-tab{min-height:38px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.adm-tab:hover{color:var(--text);background:#ffffff0a}.adm-tab.on{color:var(--gold-bright);border-color:var(--gold-dim);background:#d6ab5e1a}.adm-main{min-width:0;padding:22px 28px 60px}.adm-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:8px 0 14px;display:flex}.adm-toolbar h2,.adm-toolbar h3{margin:0;font-size:20px}.adm-updated{color:var(--dim);align-items:center;gap:8px;font-size:12px;display:inline-flex}.adm-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:14px;display:grid}.adm-grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.adm-card{border-radius:var(--radius);border:1px solid var(--hair);background:var(--panel);width:100%;color:inherit;text-align:left;padding:14px;display:block}button.adm-card{cursor:pointer}button.adm-card:hover{border-color:var(--gold-dim)}.adm-card.alert{border-color:#ff7a5c73}.adm-card-body{margin-top:8px}.adm-card-help{margin-top:8px;font-size:11px}.adm-bigs{flex-wrap:wrap;gap:16px;display:flex}.adm-big{flex-direction:column;display:flex}.adm-big b{font-variant-numeric:tabular-nums;font-size:22px}.adm-big span{color:var(--muted);font-size:11px}button.adm-big.open{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}button.adm-big.open span{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}button.adm-big.open:hover b,button.adm-big.open:focus-visible b{color:var(--gold)}.adm-line{overflow-wrap:anywhere;margin:4px 0;font-size:13px}.adm-small{font-size:12px}.adm-section{border-radius:var(--radius);border:1px solid var(--hair);background:var(--panel);margin:14px 0;padding:14px}.adm-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.adm-section-head h3{letter-spacing:.04em;margin:0;font-size:14px}.adm-h3{margin:18px 0 8px;font-size:15px}.adm-empty{margin:6px 0;font-size:13px}.adm-search{gap:8px;margin:8px 0;display:flex}.adm-search .input{flex:1;min-width:0}.adm-chips{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.adm-select{width:auto;min-height:32px}.adm-table-wrap{overflow-x:auto}.adm-table{border-collapse:collapse;width:100%;font-size:13px}.adm-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--hair-strong);padding:6px 8px;font-size:11px;font-weight:600}.adm-table td{border-bottom:1px solid var(--hair);vertical-align:top;padding:8px}.adm-row{cursor:pointer}.adm-row:hover td{background:#ffffff08}.adm-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.adm-dl{grid-template-columns:140px 1fr;gap:6px 12px;margin:0;font-size:13px;display:grid}.adm-dl dt{color:var(--dim)}.adm-dl dd{overflow-wrap:anywhere;min-width:0;margin:0}.adm-pre{white-space:pre-wrap;background:#00000059;border-radius:6px;max-height:220px;padding:8px;font-size:11px;overflow:auto}.adm-events{margin:0;padding:0;font-size:13px;list-style:none}.adm-events li{border-left:3px solid var(--hair-strong);overflow-wrap:anywhere;margin-bottom:4px;padding:5px 0 5px 8px}.adm-events li.error{border-left-color:var(--bad)}.adm-events li.warn{border-left-color:var(--warn)}.adm-events li.info{border-left-color:var(--info)}.adm-dialog{max-width:560px}.adm-consequences{margin:6px 0 12px;padding-left:18px;font-size:13px}.adm-consequences li{margin-bottom:4px}.adm-case{border:1px solid var(--hair);background:var(--panel);width:100%;color:inherit;text-align:left;cursor:pointer;border-radius:8px;margin-bottom:8px;padding:10px 12px;display:block}.adm-case.urgent{border-color:#ff7a5c80}.adm-case-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.adm-spacer{flex:1}.adm-case-content{color:var(--muted);overflow-wrap:anywhere;margin-top:6px;font-size:13px}.adm-quote{border-left:3px solid var(--gold-dim);overflow-wrap:anywhere;background:#ffffff08;margin:0 0 6px;padding:8px 12px}.adm-context{margin-top:10px;font-size:13px}.adm-ctx-line{overflow-wrap:anywhere;padding:3px 6px}.adm-ctx-line.reported{background:#ff7a5c1f;border-radius:4px}.adm-radios{gap:6px;margin-bottom:10px;display:grid}.adm-radio{border:1px solid var(--hair);cursor:pointer;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:8px 10px;display:grid}.adm-radio span{grid-column:2}.adm-radio.on{border-color:var(--gold-dim);background:#d6ab5e14}.adm-check{align-items:flex-start;gap:8px;margin:8px 0;font-size:13px;display:flex}.adm-sanction{border:1px solid var(--hair);border-radius:8px;margin-bottom:8px;padding:8px 10px}.adm-sanction.active{border-color:#ff7a5c66}.adm-msg{border:1px solid var(--hair);border-radius:8px;margin:8px 0;padding:8px 10px}.adm-msg.staff{border-color:var(--gold-dim)}.adm-msg.internal{background:#7fb2e512;border:1px dashed #7fb2e599}.adm-msg-body{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px}.adm-textarea{width:100%;margin:6px 0}.adm-textarea.note{border-style:dashed;border-color:#7fb2e599}.adm-details summary{cursor:pointer;margin:6px 0;font-size:13px}.adm-diag{border-radius:var(--radius);border:1px solid #7fb2e559;margin:10px 0;padding:10px}.gold{color:var(--gold-bright)}@media (width<=760px){.adm-shell{grid-template-columns:1fr}.adm-nav{z-index:5;border-right:0;border-bottom:1px solid var(--hair);flex-direction:row;height:auto;padding:8px;position:sticky;overflow-x:auto}.adm-brand{flex:none;margin:0 6px 0 0}.adm-brand .caps,.adm-who{display:none}.adm-tab{white-space:nowrap;flex:none}.adm-main{padding:12px 12px 60px}.adm-dl{grid-template-columns:1fr}.adm-dl dt{margin-top:6px}}.restriction-banner{z-index:80;top:max(10px, env(safe-area-inset-top));color:#ffd9cf;width:min(640px,100% - 24px);box-shadow:var(--shadow);background:#28100cf5;border:1px solid #ff7a5c8c;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:13px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.deploy-banner{z-index:90;top:max(10px, env(safe-area-inset-top));color:#f6e3bd;width:min(680px,100% - 24px);box-shadow:var(--shadow);background:#261c0af5;border:1px solid #f1b64a8c;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.deploy-banner.done{color:#d8f5e4;background:#0c2216f5;border-color:#5fd08a8c}.deploy-banner .btn{flex:none;margin-left:auto}.chat-blocked{background:#ff7a5c14;border:1px solid #ff7a5c66;border-radius:8px;margin:6px;padding:8px 10px;font-size:12px}.continent-notice{z-index:60;text-align:center;width:min(620px,100% - 24px);box-shadow:var(--shadow);border:1px solid var(--gold-dim);color:#f6dfb0;background:#1e180cf5;border-radius:10px;padding:8px 14px;font-size:13px;position:fixed;top:60px;left:50%;transform:translate(-50%)}.continent-notice.failed{color:#ffd9cf;background:#28100cf5;border-color:#ff7a5c8c}.support-row{border:1px solid var(--hair);background:var(--panel);width:100%;color:inherit;cursor:pointer;text-align:left}.support-row.on{border-color:var(--gold-dim)}.support-msg{border:1px solid var(--hair);border-radius:8px;margin:10px 0;padding:8px 10px}.support-msg.staff{border-color:var(--gold-dim);background:#d6ab5e0f}.news-item{margin-bottom:12px;padding:16px 18px;position:relative}.news-item.unread{border-color:var(--gold-dim)}.news-item>.badge{position:absolute;top:14px;right:14px}.news-article h3{font-family:var(--f-serif);margin:4px 0 6px;font-size:22px}.news-article p{margin:0 0 10px;line-height:1.55}.news-summary{color:var(--gold-bright)}.news-date{font-size:12px}.news-build{letter-spacing:.02em;margin-left:8px;font-size:11px}.news-build code{border:1px solid var(--hair);-webkit-user-select:all;user-select:all;background:#ffffff0a;border-radius:4px;padding:1px 5px;font-size:11px}.news-preview{border:1px dashed var(--gold-dim);border-radius:8px;margin-top:12px;padding:12px}.account-chip.icon-only{position:relative}.news-dot{background:var(--orange);width:8px;height:8px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;position:absolute;top:5px;right:5px}.adm-balance-form{border-top:1px solid var(--hair);margin-top:12px;padding-top:12px}.adm-balance-form .field input{max-width:120px}.adm-balance-form .field input:not([type=number]){max-width:360px}.home-legal{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:12px;display:flex}.legal-form{border-left:2px solid var(--hair);background:#ffffff05;margin:10px 0 0;padding:12px 14px}.legal-form p{margin:0 0 6px}.legal-text section{margin-bottom:18px}.legal-text .list{max-width:62ch;margin:0 0 10px;line-height:1.6}.legal-text .list li{margin-bottom:6px}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.shop-card{border:1px solid var(--hair);background:linear-gradient(#221e18e0,#101318f2);border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex}.shop-card.owned{border-color:var(--gold-dim)}.shop-card h3{font-family:var(--f-serif);margin:0;font-size:20px;line-height:1.2}.shop-card p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.shop-card .badge{align-items:center;gap:4px;display:inline-flex}.shop-preview{border:1px solid var(--hair);background:radial-gradient(120% 120% at 50% 0,#d6ab5e1a,#0000004d);border-radius:10px;justify-content:center;align-items:center;padding:10px;display:flex}.shop-pack-preview{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.look-preview{max-width:100%;height:auto;display:block}.shop-contents{color:var(--muted);margin:0;padding-left:18px;font-size:12.5px}.shop-contents li.have{color:var(--dim)}.shop-price{align-items:baseline;gap:8px;margin-top:auto;padding-top:4px;display:flex}.shop-price .now{font-family:var(--f-brand);color:var(--gold-bright);font-size:21px;font-weight:800}.shop-price .was{color:var(--dim);font-size:13px;text-decoration:line-through}.shop-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shop-note{color:var(--dim);margin:0;font-size:12px;line-height:1.5}.shop-accept{border:1px solid var(--gold-dim);background:#d6ab5e12;border-radius:8px;margin:12px 0;padding:10px 12px}.shop-check{cursor:pointer;align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.55;display:flex}.shop-check input{width:18px;height:18px;accent-color:var(--gold);flex:none;margin:1px 0 0}.offer-panel{border:1px solid var(--gold-dim);background:#d6ab5e0f;border-radius:14px;margin:16px 0;padding:16px 18px}.offer-panel .list{margin:6px 0 0}.offer-name{font-family:var(--f-serif);margin:6px 0 2px;font-size:24px}.offer-price{font-family:var(--f-brand);color:var(--gold-bright);margin:6px 0 2px;font-size:34px;font-weight:900}.legal-text p{max-width:62ch;margin:0 0 10px;line-height:1.6}@media (width<=760px){.shop-grid{grid-template-columns:1fr}.offer-price{font-size:28px}.shop-actions .btn{flex:auto}}.beta-badge{border:1px solid var(--gold-dim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:32px;color:var(--gold-bright);font:inherit;letter-spacing:.04em;white-space:nowrap;cursor:pointer;background:#d6ab5e1a;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:700;display:inline-flex}.beta-badge:hover{border-color:var(--gold);background:#d6ab5e2e}.beta-page section{margin-bottom:26px}.beta-page p,.beta-page .list{max-width:68ch;line-height:1.6}.beta-page .list li{margin:8px 0}.beta-protege{padding:14px 16px 14px 4px}.beta-intro{font-size:12.5px}.beta-groupe{margin-bottom:10px;padding:12px 16px 14px 4px}.beta-groupe-head{color:var(--gold);align-items:center;gap:8px;padding-left:12px;display:flex}.beta-groupe-head h2{text-transform:uppercase;letter-spacing:.18em;margin:0;font-size:11px;font-weight:700}.beta-version{border-top:1px solid var(--hair);padding:10px 0}.beta-version-head{align-items:center;gap:8px;display:flex}.beta-version p{margin:4px 0 0;font-size:12.5px}@media (width<=600px){.beta-protege,.beta-groupe{padding-right:12px}}.beta-page .reason svg{flex:none}@media (width<=600px){.beta-badge{flex:none;justify-content:center;width:36px;height:36px;padding:0}.beta-badge span{display:none}}.presence-dot{border:1px solid var(--dim);background:0 0;border-radius:999px;flex:none;width:8px;height:8px}.presence-dot.on{border-color:var(--good);background:var(--good);box-shadow:0 0 6px #5fd08a99}.friend-chat{z-index:70;right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));flex-direction:column;width:min(360px,100% - 32px);max-height:min(60vh,520px);display:flex;position:fixed}.friend-chat .panel-body{flex:auto;min-height:0;overflow-y:auto}.friend-chat .modal-foot{align-items:center;display:flex}.dm-line{border-left:2px solid #0000;border-radius:8px;padding:5px 8px;font-size:13px;line-height:1.45}.dm-line.moi{border-left-color:var(--gold-dim);background:#d6ab5e0f}.dm-line.eux{border-left-color:var(--hair-strong);background:#ffffff08}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-dot{z-index:75;left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));border:1px solid var(--hair-strong);background:var(--panel-solid);width:44px;height:44px;color:var(--gold-bright);cursor:pointer;box-shadow:var(--shadow);border-radius:999px;place-items:center;transition:border-color .15s,transform .15s;display:grid;position:fixed}.chat-dot:hover{border-color:var(--gold);transform:translateY(-1px)}.chat-dot.actif{border-color:var(--gold)}.chat-dot.appele{border-color:var(--bad);color:var(--bad);animation:1.1s ease-in-out infinite chat-appel}@keyframes chat-appel{0%,to{box-shadow:var(--shadow)}50%{box-shadow:0 0 0 6px #ff7a5c2e}}:root[data-motion=reduit] .chat-dot.appele{animation:none}.chat-badge{background:var(--gold-bright);color:#1a0e0a;text-align:center;border-radius:999px;min-width:18px;padding:0 4px;font-size:10px;font-weight:800;line-height:18px;position:absolute;top:-2px;right:-2px}.chat-monde{z-index:74;left:max(16px, env(safe-area-inset-left));bottom:calc(max(16px, env(safe-area-inset-bottom)) + 54px);flex-direction:column;width:min(360px,100% - 32px);max-height:min(58vh,480px);display:flex;position:fixed}.chat-monde .panel-body{flex:auto;min-height:0;overflow-y:auto}.chat-line{border-radius:6px;padding:3px 6px;font-size:13px;line-height:1.45}.chat-line.pour-moi{border-left:2px solid var(--bad);background:#ff7a5c1a}.chat-mention{z-index:76;left:max(16px, env(safe-area-inset-left));bottom:calc(max(16px, env(safe-area-inset-bottom)) + 54px);color:#ffd9cf;text-align:left;cursor:pointer;width:min(340px,100% - 32px);box-shadow:var(--shadow);background:#28100cf5;border:1px solid #ff7a5c8c;border-radius:10px;padding:10px 12px;font-size:13px;position:fixed}.vitrine{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:6px;display:grid}.vitrine-item{border:1px solid var(--hair);background:#d6ab5e0d;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:8px 10px;display:grid}.vitrine-item svg{grid-row:1/3}.vitrine-item b{font-size:13px}.vitrine-item .dim{font-size:11px;line-height:1.35}.minimap.folded{height:auto}@media (width<=400px){.wordmark-logo{width:min(620px,100%,30vh)}.menu-item .mi-sub{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tagline{display:none}.home-foot{padding-top:0;padding-bottom:max(8px, env(safe-area-inset-bottom))}.home-legal{gap:2px 10px;font-size:11px}}@media (width<=1000px){.home-side{display:none}}.manoeuvres{gap:8px;display:grid}.rame{background:var(--panel-2,#0000002e);border-radius:8px;align-items:center;gap:2px;padding:6px 2px;display:flex;overflow-x:auto}.rame-bout{letter-spacing:.08em;text-transform:uppercase;opacity:.55;flex:none;padding:0 4px;font-size:10px}.rame-vehicule{border:1px solid var(--hair);cursor:pointer;background:#ffffff14;border-radius:4px;flex:none;height:26px;padding:0;position:relative}.rame-vehicule.moteur{background:linear-gradient(180deg, var(--accent,#d9a441), #00000059);border-color:var(--accent,#d9a441);border-radius:4px 7px 7px 4px}.rame-vehicule.laisse{outline:2px dashed var(--danger,#e06666);outline-offset:1px;opacity:.85}.rame-vehicule:disabled{cursor:default}.rame-vehicule .charge{border-radius:2px;height:5px;position:absolute;inset:auto 3px 3px}.rame-chiffres{font-size:11px}.manoeuvre-action{border:1px solid var(--hair);border-radius:8px;gap:6px;padding:8px;font-size:12px;display:grid}.manoeuvre-boutons{flex-wrap:wrap;gap:6px;display:flex}.manoeuvres .refus{color:var(--danger,#e06666);margin-top:4px;font-size:11px}.choix-voie{border:1px solid var(--hair);border-radius:8px;gap:6px;padding:8px;display:grid}.choix-voie-tete{align-items:center;gap:6px;display:flex}.choix-voie-tete input{border:1px solid var(--hair);min-width:0;color:inherit;font:inherit;background:#00000040;border-radius:6px;flex:1;padding:5px 8px;font-size:12px}.choix-voie-liste{gap:2px;max-height:34vh;display:grid;overflow-y:auto}.choix-voie-ligne{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.choix-voie-ligne:hover,.choix-voie-ligne.active{border-color:var(--hair);background:#ffffff12}.choix-voie-plan{border-top:1px solid var(--hair);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:6px;font-size:12px;display:flex}.buildbar-stepper{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.batiments{z-index:7;flex-direction:column;width:min(820px,100% - 24px);max-height:calc(100% - 180px);display:flex;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.batiments .panel-head{justify-content:space-between;align-items:center;display:flex}.batiments-grille{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:10px;display:grid;overflow-y:auto}.batiment-carte{text-align:left;border:1px solid var(--hair);color:inherit;font:inherit;cursor:pointer;background:#ffffff08;border-radius:10px;flex-direction:column;gap:5px;padding:0 0 8px;display:flex;overflow:hidden}.batiment-carte:hover,.batiment-carte:focus-visible{border-color:var(--gold-bright,#e0b43a);background:#e0b43a0f}.batiment-carte img{aspect-ratio:3/2;object-fit:cover;background:#3b4a2b;width:100%;display:block}.batiment-nom{padding:0 9px;font-size:13px;font-weight:700}.batiment-resume{opacity:.75;flex:1;padding:0 9px;font-size:11px;line-height:1.4}.batiment-pied{opacity:.9;flex-direction:column;gap:2px;padding:0 9px;font-size:10.5px;display:flex}.batiment-pied b{color:var(--gold-bright,#e0b43a);white-space:nowrap}.batiment-par-voie{opacity:.7;font-size:10px}.poste-fiche{gap:8px;display:grid}.poste-etat{background:#e0b43a14;border:1px solid #e0b43a40;border-radius:8px;align-items:center;gap:6px;padding:7px 9px;font-size:12px;display:flex}.poste-titre{margin-top:4px;font-size:10px}.poste-vide{font-size:12px}.poste-demande{border:1px solid var(--hair);border-radius:8px;gap:6px;padding:8px;font-size:12px;display:grid}.poste-choix{gap:4px;display:grid}.poste-option{text-align:left;border:1px solid var(--hair);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:8px;gap:2px;padding:7px 9px;font-size:12px;display:grid}.poste-option.active{border-color:var(--gold-bright,#e0b43a);background:#e0b43a14}.poste-option .dim{font-size:11px}.poste-capacite{gap:14px;font-size:12px;display:flex}.poste-renommer{gap:6px;display:flex}.poste-renommer input{border:1px solid var(--hair);min-width:0;color:inherit;font:inherit;background:#00000040;border-radius:6px;flex:1;padding:5px 8px;font-size:12px}.poste-journal{gap:2px;font-size:11px;display:grid}.renommer-crayon{opacity:.55}.renommer-crayon:hover{opacity:1}.renommer{align-items:center;gap:4px;display:inline-flex}.renommer input{border:1px solid var(--hair);width:150px;color:inherit;font:inherit;background:#0000004d;border-radius:6px;padding:3px 6px;font-size:13px;font-weight:600}.voie-ligne{align-items:center;gap:4px;display:flex}.voie-ligne>:first-child{flex:1;min-width:0}.voyageurs-bloc{gap:2px;margin:6px 0;font-size:12px;display:grid}.voyageurs-bloc .caps{margin-bottom:2px;font-size:10px}.voyageurs-destinations{opacity:.85;flex-wrap:wrap;gap:4px 10px;font-size:11px;display:flex}.modal-body.horaires{grid-template-columns:minmax(150px,200px) 1fr;align-items:start;gap:14px;display:grid}@media (width<=720px){.modal-body.horaires{grid-template-columns:1fr}}.horaires-lignes{gap:4px;display:grid}.horaire-ligne{text-align:left;border:1px solid var(--hair);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:8px;gap:2px;padding:7px 9px;font-size:12px;display:grid}.horaire-ligne.active{border-color:var(--gold-bright,#e0b43a);background:#e0b43a14}.horaire-ligne .dim{font-size:11px}.horaire-editeur{gap:8px;min-width:0;font-size:12px;display:grid}.horaire-rang{align-items:center;gap:8px;display:flex}.horaire-nom{min-width:0;font:inherit;border:1px solid var(--hair);color:inherit;background:0 0;border-radius:6px;flex:1;padding:5px 8px;font-size:15px;font-weight:600}.horaire-etat{border:1px solid var(--hair);white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:11px}.horaire-etat.publie{border-color:var(--good,#4caf50);color:var(--good,#4caf50)}.horaire-arret{border-bottom:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;display:flex}.horaire-arret>b{flex:1;min-width:90px}.horaire-numero{background:var(--hair);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:grid}.horaire-actions{gap:2px;margin-left:auto;display:flex}.horaire-editeur select{font:inherit;border:1px solid var(--hair);background:var(--panel,transparent);color:inherit;border-radius:6px;min-height:30px;padding:4px 6px;font-size:12px}.horaire-reglages{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.horaire-case{align-items:center;gap:6px;display:inline-flex}.horaire-pas{align-items:center;gap:4px;display:inline-flex}.horaire-pas b{text-align:center;font-variant-numeric:tabular-nums;min-width:48px}.horaire-pas .btn.small{min-width:30px;min-height:30px;padding:0}.horaire-rames{flex-wrap:wrap;gap:4px;display:flex}.horaire-problemes{gap:4px;display:grid}.horaire-apercu{overflow-x:auto}.horaire-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.horaire-table th,.horaire-table td{text-align:left;border-bottom:1px solid var(--hair);white-space:nowrap;padding:3px 6px}.horaire-table th{opacity:.7;font-size:11px;font-weight:500}.horaire-table td.good{color:var(--good,#4caf50)}.horaire-table td.warn{color:var(--warn,#e0a030)}.horaire-table td.bad{color:var(--bad,#e05040)}.horaire-table.fiche tr.passe td:first-child{opacity:.6}.horaire-publier{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.horaire-ponctualite{border-top:1px solid var(--hair);gap:6px;padding-top:8px;display:grid}.horaire-chiffres{flex-wrap:wrap;gap:4px 14px;display:flex}.meteo-btn{font-variant-numeric:tabular-nums;align-items:center;gap:5px;padding:0 9px;font-size:13px;display:inline-flex}.meteo-panneau{z-index:40;gap:8px;width:min(460px,100vw - 32px);padding:12px 14px;display:grid;position:absolute;top:64px;left:50%;transform:translate(-50%)}.meteo-panneau .panel-head{justify-content:space-between;align-items:flex-start;padding:0;display:flex}.meteo-titre{align-items:center;gap:6px;font-size:15px;display:inline-flex}.meteo-effets{flex-wrap:wrap;gap:4px;font-size:12px;display:flex}.meteo-effets>span:not(.dim){border:1px solid var(--hair);border-radius:99px;padding:2px 8px}.meteo-prevision{grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;display:grid;overflow-x:auto}.meteo-heure{font-variant-numeric:tabular-nums;justify-items:center;gap:3px;padding:4px 0;font-size:11px;display:grid}.meteo-fiabilite{background:var(--gold-bright,#e0b43a);border-radius:2px;width:70%;height:3px}@media (width<=720px){.meteo-panneau{top:52px}.meteo-prevision{grid-template-columns:repeat(6,minmax(0,1fr))}}.filtres-trains{flex-wrap:wrap;align-items:center;gap:4px;padding:4px 8px 2px;display:flex}.filtres-trains .chip{font:inherit;border:1px solid var(--hair);color:inherit;cursor:pointer;background:0 0;border-radius:99px;min-height:24px;padding:2px 8px;font-size:11px}.filtres-trains .chip.active{border-color:var(--gold-bright,#e0b43a);background:#e0b43a1f}.filtres-trains select{font:inherit;border:1px solid var(--hair);color:inherit;background:0 0;border-radius:99px;min-height:24px;padding:2px 6px;font-size:11px}.tr-fav{color:var(--gold-bright,#e0b43a);vertical-align:-1px;margin-right:3px}.saisie-champ{width:100%;font:inherit;border:1px solid var(--hair);color:inherit;background:0 0;border-radius:8px;padding:8px 10px;font-size:15px}.recherche-tete{align-items:center;gap:8px;display:flex}.recherche-corps{gap:2px;max-height:min(60vh,520px);display:grid;overflow-y:auto}.recherche-actions{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.recherche-ligne{border-radius:6px;align-items:center;gap:4px;display:flex}.recherche-ligne.active{background:#e0b43a1a}.recherche-aller{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;min-width:0;padding:7px 8px;font-size:13px;display:flex}.recherche-aller b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recherche-aller .dim{white-space:nowrap;margin-left:auto;font-size:11px}.campagne-carte{border:1px solid var(--hair);background:radial-gradient(at 20% 30%,#5f8c5a2e,#0000 60%),radial-gradient(at 80% 70%,#5a789629,#0000 60%),#ffffff05;border-radius:14px;height:clamp(280px,42vw,440px);margin:12px 0 22px;position:relative;overflow:hidden}.campagne-voie{width:100%;height:100%;position:absolute;inset:0}.campagne-voie-fond{fill:none;stroke:#14100c99;stroke-width:2.4px;vector-effect:non-scaling-stroke;stroke-width:9px;stroke-linejoin:round}.campagne-voie-rail{fill:none;stroke:#f0c77a8c;stroke-dasharray:2 5;vector-effect:non-scaling-stroke;stroke-width:3px;stroke-linejoin:round}.campagne-gare{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;justify-items:center;gap:2px;max-width:130px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.campagne-gare:disabled{cursor:default;opacity:.55}.campagne-numero{background:var(--panel,#1a1d22);border:2px solid var(--hair);border-radius:50%;place-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:grid}.campagne-gare.ouverte .campagne-numero{border-color:var(--gold-bright,#e0b43a);box-shadow:0 0 0 4px #e0b43a26}.campagne-gare.faite .campagne-numero{background:var(--gold-bright,#e0b43a);color:#1a1408;border-color:var(--gold-bright,#e0b43a)}.campagne-nom{text-align:center;text-shadow:0 1px 3px #000c;font-size:11px;font-weight:600;line-height:1.2}.campagne-chapitre{margin-top:18px}.campagne-chapitre-tete{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:8px;display:flex}.campagne-chapitre-tete h2{margin:0;font-size:18px}.campagne-chapitre-etoiles{color:var(--gold-bright,#e0b43a);margin-left:auto;font-weight:700}.campagne-aides{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;display:grid}.campagne-variante{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;font-size:12px;display:flex}@media (width<=720px){.campagne-nom{display:none}}.end-conseil{color:var(--dim,#9a948a);margin-top:2px;font-size:11px;display:block}.end-exploitation{margin:10px 0 0}.objective.verrou{opacity:.55}.chat-arrivee{color:var(--gold-bright);font-size:12.5px}.chat-arrivee svg{vertical-align:-2px}.champ-pseudo{position:relative}.champ-pseudo-liste{z-index:20;border:1px solid var(--hair-strong);background:var(--panel-solid);border-radius:8px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #00000073}.champ-pseudo-liste button{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:6px;padding:7px 9px;font-size:13px;display:block}.champ-pseudo-liste button:hover,.champ-pseudo-liste button.actif{background:#d6ab5e24}.reglages-page{z-index:120;background:radial-gradient(1100px 520px at 85% -10%, #e8823a24, transparent 60%), radial-gradient(900px 500px at -10% 110%, #d6ab5e1a, transparent 60%), var(--bg);flex-direction:column;animation:.18s ease-out reglages-entree;display:flex;position:fixed;inset:0}@keyframes reglages-entree{0%{opacity:0;transform:translateY(8px)}}.reglages-tete{padding:calc(14px + env(safe-area-inset-top)) calc(28px + env(safe-area-inset-right)) 14px calc(28px + env(safe-area-inset-left));border-bottom:1px solid var(--hair);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b0f13b3;align-items:center;gap:20px;display:flex}.reglages-tete h1{font-family:var(--f-brand);letter-spacing:.05em;margin:2px 0 0;font-size:26px;font-weight:900}.reglages-corps{overscroll-behavior:contain;flex:1;overflow-y:auto}.reglages-inner{max-width:1060px;padding:28px calc(28px + env(safe-area-inset-right)) calc(60px + env(safe-area-inset-bottom)) calc(28px + env(safe-area-inset-left));grid-template-columns:190px minmax(0,1fr);gap:36px;margin:0 auto;display:grid}.reglages-nav{align-self:start;gap:4px;display:grid;position:sticky;top:0}.reglages-nav button{min-height:40px;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;padding:0 12px;font-weight:600;transition:background .15s,color .15s;display:flex}.reglages-nav button:hover{color:var(--text);background:#ffffff0a}.reglages-nav button.on{border-color:var(--gold-dim);color:var(--gold-bright);background:#d6ab5e1f}.reglages-rubrique{align-content:start;gap:16px;min-width:0;display:grid}.reglages-rubrique>h2{font-family:var(--f-brand);letter-spacing:.04em;margin:4px 0 2px;font-size:20px;font-weight:800}.carte-reglage{border:1px solid var(--hair);background:linear-gradient(#221e188c,#101318bf);border-radius:14px;padding:18px 20px}.carte-reglage h3{margin:0;font-size:15px}.carte-titre{margin-bottom:12px}.carte-titre p{margin:3px 0 0;font-size:12px}.son-general{border-color:var(--gold-dim);background:radial-gradient(420px 160px at 100% 0,#e8823a24,#0000 70%),linear-gradient(#28221ab3,#101318cc)}.son-general-tete{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.son-general-tete p{margin:3px 0 0;font-size:12px}.son-general-icone{border:1px solid var(--gold-dim);width:52px;height:52px;color:var(--gold-bright);background:#d6ab5e1f;border-radius:50%;place-items:center;display:grid}.son-general-icone.coupe{border-color:var(--hair-strong);color:var(--dim);background:#ffffff0a}.son-general-volume{border-top:1px solid var(--hair);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;margin-top:16px;padding-top:14px;display:grid}.interrupteur{border:1px solid var(--hair-strong);cursor:pointer;background:#ffffff0f;border-radius:999px;flex:none;width:44px;height:26px;padding:0;transition:background .18s,border-color .18s;position:relative}.interrupteur-bille{background:var(--muted);border-radius:50%;width:18px;height:18px;transition:transform .18s,background .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0006}.interrupteur.on{border-color:var(--gold);background:#d6ab5e59}.interrupteur.on .interrupteur-bille{background:var(--gold-bright);transform:translate(18px)}.interrupteur:disabled{opacity:.4;cursor:not-allowed}.interrupteur.petit{width:34px;height:20px}.interrupteur.petit .interrupteur-bille{width:14px;height:14px;top:2px;left:2px}.interrupteur.petit.on .interrupteur-bille{transform:translate(14px)}.curseur{grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:10px;display:grid}.curseur-valeur{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;font-size:12px;font-weight:600}.curseur input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:28px;margin:0}.curseur input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--gold) var(--p), #ffffff1a var(--p));border-radius:999px;height:6px}.curseur input[type=range]::-moz-range-track{background:linear-gradient(90deg, var(--gold) var(--p), #ffffff1a var(--p));border-radius:999px;height:6px}.curseur input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--gold-bright);width:18px;height:18px;box-shadow:0 0 0 1px var(--gold-dim), 0 2px 6px #00000080;border:2px solid #1b140a;border-radius:50%;margin-top:-6px}.curseur input[type=range]::-moz-range-thumb{background:var(--gold-bright);width:14px;height:14px;box-shadow:0 0 0 1px var(--gold-dim), 0 2px 6px #00000080;border:2px solid #1b140a;border-radius:50%}.curseur.eteint input[type=range]{cursor:not-allowed}.curseur.eteint input[type=range]::-webkit-slider-runnable-track{background:#ffffff14}.curseur.eteint input[type=range]::-moz-range-track{background:#ffffff14}.curseur.eteint input[type=range]::-webkit-slider-thumb{background:var(--dim);box-shadow:none}.curseur.eteint input[type=range]::-moz-range-thumb{background:var(--dim);box-shadow:none}.curseur.eteint .curseur-valeur{color:var(--dim)}.mixeur{display:grid}.mixeur-ligne{border-top:1px solid var(--hair);grid-template-columns:38px minmax(0,1fr) auto minmax(150px,230px) auto;align-items:center;gap:14px;padding:12px 0;transition:opacity .15s;display:grid}.mixeur-ligne:first-child{border-top:0;padding-top:2px}.mixeur-ligne p{margin:2px 0 0;font-size:12px}.mixeur-icone{border:1px solid var(--hair-strong);width:38px;height:38px;color:var(--gold-bright);background:#d6ab5e1a;border-radius:10px;place-items:center;display:grid}.mixeur-ligne.muet .mixeur-icone{color:var(--dim);background:#ffffff08}.mixeur-ligne.muet .mixeur-nom strong{color:var(--muted)}.details-groupe+.details-groupe{margin-top:16px}.details-groupe>.caps{margin-bottom:8px}.details-grille{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.detail-puce{border:1px solid var(--hair);color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff06;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.detail-puce:hover{border-color:var(--gold-dim)}.detail-puce.on{background:#d6ab5e12;border-color:#d6ab5e47}.detail-puce:disabled{opacity:.45;cursor:not-allowed}.detail-texte{gap:2px;min-width:0;display:grid}.detail-texte .dim{font-size:11.5px;line-height:1.35}@media (width<=760px){.reglages-tete{padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));gap:12px}.reglages-tete h1{font-size:21px}.reglages-inner{padding:0 calc(16px + env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));grid-template-columns:minmax(0,1fr);gap:14px}.reglages-nav{z-index:2;scrollbar-width:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair);background:#0b0f13eb;gap:6px;margin:0 -16px;padding:10px 16px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 82%,#0000);mask-image:linear-gradient(90deg,#000 82%,#0000)}.reglages-nav button{flex:none;min-height:36px}.reglages-rubrique>h2{display:none}.carte-reglage{padding:16px 14px}.mixeur-ligne{grid-template-columns:34px minmax(0,1fr) auto;row-gap:8px}.mixeur-icone{width:34px;height:34px}.mixeur-ligne .curseur{grid-column:1/3}.mixeur-ligne .ecouter{grid-column:3}.son-general-volume{grid-template-columns:minmax(0,1fr);gap:4px}.details-grille{grid-template-columns:minmax(0,1fr)}.reglages-page .setting{grid-template-columns:minmax(0,1fr);gap:8px}.reglages-page .setting>.interrupteur{justify-self:start}}@media (pointer:coarse){.curseur input[type=range]{height:36px}.curseur input[type=range]::-webkit-slider-thumb{width:24px;height:24px;margin-top:-9px}}.clock.caisse{font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px}.clock.caisse:hover{border-color:var(--gold-dim);background:#d6ab5e14}.finances .bad{color:var(--bad)}.finances .good{color:var(--good)}.fin-resume{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:6px;display:grid}.fin-resume>div{border:1px solid var(--hair);background:#ffffff08;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.fin-resume b{font-variant-numeric:tabular-nums;font-size:17px}.fin-barres{border-bottom:1px solid var(--hair);align-items:flex-end;gap:3px;height:90px;padding:6px 0;display:flex}.fin-heure{flex:1;align-items:flex-end;gap:1px;height:100%;display:flex}.fin-heure>span{border-radius:2px 2px 0 0;flex:1;min-height:1px}.fin-rec,.fin-jauge .rec,.fin-pastille.rec{background:var(--good)}.fin-dep,.fin-jauge .dep,.fin-pastille.dep{background:var(--bad)}.fin-legende{margin:6px 0 0;font-size:11px}.fin-pastille{border-radius:2px;width:8px;height:8px;margin:0 3px 0 6px;display:inline-block}.fin-colonnes{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.fin-ligne{grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;margin-bottom:8px;font-size:12.5px;display:grid}.fin-ligne b{font-variant-numeric:tabular-nums}.fin-jauge{background:#ffffff0f;border-radius:2px;grid-column:1/-1;height:4px;overflow:hidden}.fin-jauge>span{height:100%;display:block}.fin-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12.5px}.fin-table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--hair);padding:4px 6px;font-size:10.5px;font-weight:600}.fin-table td{border-bottom:1px solid var(--hair);padding:5px 6px}.fin-table th:not(:first-child),.fin-table td:not(:first-child){text-align:right}.finances .lien{color:var(--gold-bright);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.fin-pret{flex-wrap:wrap;gap:8px;display:flex}@media (width<=600px){.fin-resume,.fin-colonnes{grid-template-columns:minmax(0,1fr)}}
