@font-face{font-family:Lexend Deca;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-deca-vietnamese-400-normal-CqDGOq4W.woff2)format("woff2"),url(/assets/lexend-deca-vietnamese-400-normal-CzFfcpeX.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:Lexend Deca;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-deca-latin-ext-400-normal-BvTspokg.woff2)format("woff2"),url(/assets/lexend-deca-latin-ext-400-normal-ByAQwelJ.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:Lexend Deca;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-deca-latin-400-normal-Cs_IAxDy.woff2)format("woff2"),url(/assets/lexend-deca-latin-400-normal-BFkfGIOA.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:Lexend Deca;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-deca-vietnamese-500-normal-9M6On4VS.woff2)format("woff2"),url(/assets/lexend-deca-vietnamese-500-normal-ydQiiOyi.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:Lexend Deca;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-deca-latin-ext-500-normal-bt5NOOX1.woff2)format("woff2"),url(/assets/lexend-deca-latin-ext-500-normal-BpfTeHHl.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:Lexend Deca;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lexend-deca-latin-500-normal-YJdqj_n8.woff2)format("woff2"),url(/assets/lexend-deca-latin-500-normal-B5ZwwtUR.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:Lexend Deca;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lexend-deca-vietnamese-600-normal-Bo42gXLo.woff2)format("woff2"),url(/assets/lexend-deca-vietnamese-600-normal-CWoKeKH5.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:Lexend Deca;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lexend-deca-latin-ext-600-normal-DuZ4tfLm.woff2)format("woff2"),url(/assets/lexend-deca-latin-ext-600-normal-DNNhR6ou.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:Lexend Deca;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/lexend-deca-latin-600-normal-Cnc3Ftn4.woff2)format("woff2"),url(/assets/lexend-deca-latin-600-normal-rYZKbV2f.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:Lexend Deca;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-deca-vietnamese-700-normal-DBHg52pe.woff2)format("woff2"),url(/assets/lexend-deca-vietnamese-700-normal-UcVy-k9a.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:Lexend Deca;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-deca-latin-ext-700-normal-Cl3pKz0j.woff2)format("woff2"),url(/assets/lexend-deca-latin-ext-700-normal-DH7x0S6R.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:Lexend Deca;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-deca-latin-700-normal-C_odoOWn.woff2)format("woff2"),url(/assets/lexend-deca-latin-700-normal-D8yqb8vU.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{--green-950:#1d1d1b;--green-900:#c4151c;--green-700:#a01516;--green-100:#fbeaea;--brass:#c4151c;--brass-light:#f6c9c9;--red:#c4151c;--red-100:#fbeaea;--amber-100:#fff4dc;--paper:#f0f0f0;--paper-2:#f0f0f0;--card:#fff;--ink:#000;--ink-2:#555;--line:#cfced0;--seat-free:#fff;--seat-mine:#c4151c;--seat-cart:#1d1d1b;--seat-held:#f0d9d9;--seat-booked:#b9b8ba;--radius:2px;--radius-sm:0;--shadow:0 1px 2px #0000000f, 0 4px 14px #0000000f;--font-head:"Lexend Deca", system-ui, sans-serif;--font-body:"Lexend Deca", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:.95rem/1.5 var(--font-body);margin:0;overflow-x:hidden}h1,h2,h3{font-family:var(--font-head);color:var(--green-950);margin:0 0 .5em;font-weight:600;line-height:1.15}h1{font-size:clamp(1.9rem,4vw,2.7rem)}h2{font-size:1.45rem}h3{font-size:1.12rem}p{margin:0 0 1em}a{color:var(--green-700)}a:hover{color:var(--green-900)}code{letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--brass);outline-offset:2px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}.section{padding-block:28px}.narrow{max-width:640px}.muted{color:var(--ink-2)}.small{font-size:.86rem}.lead{color:var(--ink-2);font-size:1.12rem}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin-bottom:6px;font-size:.78rem;font-weight:700;display:inline-block}.skip-link{position:absolute;left:-999px}.skip-link:focus{z-index:100;background:var(--card);padding:8px 12px;top:8px;left:16px}.topbar{background:var(--green-950);color:var(--brass-light);font-size:.8rem}.topbar__inner{justify-content:space-between;gap:12px;padding-block:6px;display:flex}.topbar nav{gap:16px;display:flex}.topbar a{color:var(--paper);text-decoration:none}.header{background:var(--green-900);color:var(--paper);z-index:20;box-shadow:0 2px 0 var(--brass);position:sticky;top:0}.header__inner{align-items:center;gap:18px;padding-block:10px;display:flex}.brand{color:var(--paper);align-items:center;gap:10px;text-decoration:none;display:flex}.brand__text{flex-direction:column;line-height:1.1;display:flex}.brand__text strong{font-family:var(--font-head);color:var(--paper);font-size:1.35rem}.brand__text small{letter-spacing:.14em;text-transform:uppercase;color:var(--brass-light);font-size:.72rem}.search{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;flex:1;align-items:center;gap:8px;max-width:460px;padding:6px 14px;display:flex}.search input{color:var(--paper);background:0 0;border:0;flex:1;min-width:0}.search input:focus{outline:none}.header__actions{align-items:center;gap:6px;margin-left:auto;display:flex}.header__action{color:var(--paper);border-radius:var(--radius-sm);align-items:center;gap:6px;padding:8px 10px;text-decoration:none;display:flex;position:relative}.badge{background:var(--brass);min-width:19px;height:19px;color:var(--green-950);border-radius:10px;place-items:center;padding:0 5px;font-size:.72rem;font-weight:700;display:grid;position:absolute;top:0;right:0}.header__menu{color:var(--paper);background:0 0;border:0;padding:8px;display:none}.catnav{background:var(--green-950)}.catnav__inner{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.catnav__link{white-space:nowrap;color:var(--paper);border-bottom:3px solid #0000;align-items:center;gap:6px;padding:10px 12px;font-size:.92rem;text-decoration:none;display:flex}.catnav__link--admin{color:var(--brass-light);margin-left:auto}.btn{cursor:pointer;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-weight:600;line-height:1.2;text-decoration:none;transition:transform .12s,background .12s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled,.btn--disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--green-900);color:var(--paper)}.btn--primary:hover:not(:disabled){background:var(--green-700);color:var(--paper)}.btn--brass{background:var(--brass);color:var(--green-950)}.btn--brass:hover{background:var(--brass-light);color:var(--green-950)}.btn--ghost{border-color:var(--line);color:var(--green-900);background:0 0}.btn--ghost:hover:not(:disabled){border-color:var(--green-700)}.btn--ghost-light{color:var(--paper);border-color:#f7f2e780}.btn--ghost-light:hover{border-color:var(--paper);color:var(--paper)}.btn--block{width:100%}.btn--grow{flex:1}.btn--small{padding:5px 12px;font-size:.85rem}.icon-btn{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:50%;place-items:center;padding:6px;display:grid}.icon-btn:hover{background:var(--paper-2);color:var(--red)}.link-arrow{align-items:center;gap:4px;font-weight:600;text-decoration:none;display:inline-flex}.field{flex-direction:column;gap:5px;font-size:.9rem;display:flex}.field>span{color:var(--ink-2);font-weight:600}.field input,.field select,.field textarea,.toolbar input,.toolbar select,.selection select{border:1.5px solid var(--line);border-radius:var(--radius-sm);background:#fff;width:100%;min-width:0;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-700);outline:none;box-shadow:0 0 0 3px #2f5a4626}.form-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}.field--wide{grid-column:1/-1}.form-stack{text-align:left;flex-direction:column;gap:14px;display:flex}.check{align-items:flex-start;gap:10px;margin:14px 0;font-size:.88rem;display:flex}.check input{accent-color:var(--green-900);margin-top:3px}.chips{border:0;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;display:flex}.chips legend{color:var(--ink-2);margin-bottom:8px;padding:0;font-size:.9rem;font-weight:600}.chip{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.92rem;display:inline-flex}.chip input[type=radio]{opacity:0;pointer-events:none;position:absolute}.chip.is-active{border-color:var(--green-900);background:var(--green-900);color:var(--paper)}.chip.is-disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}.chip:has(input:focus-visible){outline:3px solid var(--brass)}.chip--input input{background:0 0;border:0;width:64px;padding:0}.chip--input input:focus{outline:none}.stepper{border:1.5px solid var(--line);background:#fff;border-radius:999px;align-items:center;display:inline-flex}.stepper button{cursor:pointer;background:0 0;border:0;border-radius:50%;width:36px;height:36px;font-size:1.2rem}.stepper button:disabled{opacity:.3;cursor:default}.stepper output{text-align:center;min-width:26px;font-weight:600}.notice{border-radius:var(--radius-sm);background:var(--paper-2);margin:10px 0;padding:10px 14px;font-size:.92rem}.notice p{margin:6px 0 0}.notice--warn{background:var(--amber-100);color:#6b4b0d}.notice--error{background:var(--red-100);color:var(--red)}.notice--ok{background:var(--green-100);color:var(--green-900)}.tag{letter-spacing:.05em;text-transform:uppercase;background:var(--green-100);color:var(--green-900);border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-block}.tag--red{background:var(--red-100);color:var(--red)}.toast{background:var(--green-950);color:var(--paper);box-shadow:var(--shadow);z-index:50;border-radius:999px;max-width:calc(100% - 32px);padding:12px 20px;animation:.25s ease-out toast-in;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast--success{border-left:5px solid var(--brass)}.toast--error{background:var(--red)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}.loading{color:var(--ink-2);flex-direction:column;align-items:center;gap:8px;padding:60px 16px;display:flex}.empty-state{text-align:center;flex-direction:column;align-items:center;padding-block:60px;display:flex}.loco{max-width:100%;height:auto;overflow:visible}.loco__rail{fill:var(--ink-2)}.loco__frame,.loco__cylinder{fill:#2b2b2b}.loco__smokebox,.loco__chimney,.loco__roof{fill:#1c1c1c}.loco__band,.loco__dome{fill:var(--brass)}.loco__window{fill:var(--brass-light);opacity:.85}.loco__coal{fill:#1c1c1c}.loco__lamp{fill:#fff4c9;stroke:#1c1c1c;stroke-width:2px}.loco__wheel{fill:var(--red);stroke:#1c1c1c;stroke-width:3px}.loco__hub{fill:#1c1c1c}.loco__spoke{stroke:#1c1c1c;stroke-width:2px}.loco__rod{fill:#9a9a9a}.loco__steam circle{fill:#fff;opacity:0}.loco--animated .loco__driver{animation:1.4s linear infinite spin}.loco--animated .loco__rod{animation:1.4s linear infinite rod}.loco--animated .loco__steam circle{animation:2.4s ease-out infinite puff}.loco--animated .loco__steam circle:nth-child(2){animation-delay:.8s}.loco--animated .loco__steam circle:nth-child(3){animation-delay:1.6s}@keyframes spin{to{transform:rotate(-360deg)}}@keyframes rod{0%,to{transform:translate(0)}25%{transform:translate(-4px,-4px)}50%{transform:translateY(-8px)}75%{transform:translate(4px,-4px)}}@keyframes puff{0%{opacity:.9;transform:translateY(10px)scale(.4)}to{opacity:0;transform:translate(30px,-26px)scale(1.6)}}@media (prefers-reduced-motion:reduce){.loco--animated .loco__driver,.loco--animated .loco__rod,.loco--animated .loco__steam circle,.footer__track .loco{animation:none}}.hero{background:radial-gradient(circle at 80% 30%, var(--green-700), var(--green-900) 60%);color:var(--paper);overflow:hidden}.hero__inner{grid-template-columns:1.1fr 1fr;align-items:center;gap:24px;padding-block:56px;display:grid}.hero h1{color:var(--paper);font-size:clamp(2.4rem,6vw,4rem)}.hero p{color:#f7f2e7e0;max-width:34em;font-size:1.1rem}.hero__cta{flex-wrap:wrap;gap:12px;display:flex}.hero__art{justify-content:center;display:flex}.hero__art .loco__boiler,.hero__art .loco__cab,.hero__art .loco__tender{fill:#284a3b;stroke:var(--brass);stroke-width:1.5px}.section__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.category-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.category-tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);flex-direction:column;gap:6px;padding:18px 14px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.category-tile .icon{color:var(--green-700)}.category-tile:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.upcoming{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.upcoming__item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);align-items:center;gap:14px;padding:12px;text-decoration:none;display:flex}.upcoming__item:hover{border-color:var(--green-700)}.upcoming__date{background:var(--green-900);width:58px;height:58px;color:var(--brass-light);text-transform:uppercase;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:flex}.upcoming__date b{color:var(--paper);font-size:1.4rem;line-height:1}.upcoming__body{flex-direction:column;flex:1;min-width:0;display:flex}.rewards-teaser{background:var(--green-950);color:var(--paper);border-radius:var(--radius);grid-template-columns:1.4fr 1fr;align-items:center;gap:24px;margin-block:28px;padding:32px;display:grid}.rewards-teaser h2{color:var(--paper)}.rewards-teaser__tiers{flex-direction:column;gap:8px;display:flex}.rewards-teaser__tiers span{background:linear-gradient(90deg, var(--brass), transparent);color:var(--green-950);margin-left:calc(var(--i) * 18px);border-radius:999px;padding:8px 14px;font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.product-card{color:var(--ink);flex-direction:column;padding:0;text-decoration:none;transition:transform .15s;display:flex;overflow:hidden}.product-card:hover{transform:translateY(-3px)}.product-card__body{flex-direction:column;flex:1;gap:4px;padding:14px 16px 16px;display:flex}.product-card__body h3{margin:4px 0 0}.product-card__body p{margin:0;font-size:.9rem}.product-card__foot{flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:auto;padding-top:10px;display:flex}.price{color:var(--green-900);white-space:nowrap;font-weight:700}.price small{color:var(--ink-2);font-weight:500}.product-art{aspect-ratio:16/10;background:var(--art-bg);color:var(--art-fg);place-items:center;display:grid;position:relative;overflow:hidden}.product-art__pattern{width:100%;height:100%;position:absolute;inset:0}.product-art>.icon,.product-art>.loco{position:relative}.product-art--large{aspect-ratio:4/3;border-radius:var(--radius)}.product-art .loco__boiler,.product-art .loco__cab,.product-art .loco__tender{fill:var(--art-fg);opacity:.9}.breadcrumbs{color:var(--ink-2);margin-bottom:14px;font-size:.85rem}.page-head{align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-head .icon{color:var(--green-700);flex-shrink:0}.page-head--split{justify-content:space-between}.product-detail{grid-template-columns:1fr 1.1fr;align-items:start;gap:32px;display:grid}.product-detail__media{position:sticky;top:140px}.buy-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-top:16px;padding:20px}.buy-box__title{font-size:1rem;font-family:var(--font-body);margin-top:8px;font-weight:700}.buy-box__price{font-size:1.7rem;font-weight:700;font-family:var(--font-head);color:var(--green-900)}.buy-box__row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.buy-box .field{margin-bottom:12px}.date-picker{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.date-picker__label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin-bottom:6px;font-size:.8rem;font-weight:700}.date-picker__days{flex-wrap:wrap;gap:8px;display:flex}.date-chip{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;align-items:center;width:66px;padding:6px 4px;line-height:1.15;display:flex}.date-chip__wd{text-transform:uppercase;color:var(--ink-2);font-size:.72rem}.date-chip__day{font-size:1.3rem;font-weight:700}.date-chip__time{font-size:.72rem}.date-chip__state{color:var(--red);font-size:.64rem;font-weight:700}.date-chip.is-active{background:var(--green-900);border-color:var(--green-900);color:var(--paper)}.date-chip.is-active .date-chip__wd,.date-chip.is-active .date-chip__state{color:var(--brass-light)}.date-chip:disabled{opacity:.45;cursor:not-allowed}.ticket-types{margin:0;padding:0;list-style:none}.ticket-types li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 0;display:grid}.ticket-types li div{flex-direction:column;display:flex}.trip-list{flex-direction:column;gap:10px;margin:0 0 12px;padding:0;list-style:none;display:flex}.trip-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;grid-template-columns:1.1fr 1.3fr auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.trip-row__date,.trip-row__info{flex-direction:column;display:flex}.trip-row__action{align-items:center;gap:12px;display:flex}.seats-left{font-size:.82rem;font-weight:600}.seats-left--ok{color:var(--green-700)}.seats-left--low{color:#a3650d}.seats-left--none{color:var(--red)}.trip-head{margin-bottom:18px}.booking{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.booking__summary{position:sticky;top:140px}.booking__summary h2{align-items:center;gap:8px;font-size:1.2rem;display:flex}.booking__total{border-top:2px solid var(--line);justify-content:space-between;margin-top:8px;padding:12px 0;font-size:1.15rem;display:flex}.selection{margin:0;padding:0;list-style:none}.selection li{border-bottom:1px dashed var(--line);grid-template-columns:1fr auto;grid-template-areas:"label remove""fare fare";gap:6px 8px;padding:10px 0;display:grid}.selection li div{flex-direction:column;grid-area:label;display:flex}.selection li select{grid-area:fare;padding:7px 10px}.selection li .icon-btn{grid-area:remove}.hold-timer{background:var(--amber-100);color:#6b4b0d;border-radius:999px;align-items:center;gap:6px;width:fit-content;padding:5px 12px;font-size:.85rem;font-weight:600;display:flex}.fine-print{color:var(--ink-2);margin:12px 0 0;padding-left:18px;font-size:.78rem}.seat-map{min-width:0}.train-strip{border-bottom:4px solid var(--ink-2);scrollbar-width:thin;align-items:flex-end;gap:6px;margin-bottom:16px;padding:8px 4px 14px;display:flex;overflow-x:auto}.train-strip__loco{flex-shrink:0}.train-strip__wagon{border:2px solid var(--green-900);background:var(--green-100);cursor:pointer;text-align:left;border-radius:10px 10px 4px 4px;flex-direction:column;flex-shrink:0;align-items:flex-start;gap:1px;min-width:118px;padding:8px 12px 10px;display:flex;position:relative}.train-strip__wagon:after{content:"";background:radial-gradient(circle at 8px 4px,#1c1c1c 4px,#0000 5px) 0/50% 100% repeat-x;height:8px;position:absolute;bottom:-11px;left:16px;right:16px}.train-strip__wagon.is-active{background:var(--green-900);color:var(--paper)}.train-strip__wagon.is-off{background:var(--paper-2);border-style:dashed}.train-strip__num{text-transform:uppercase;letter-spacing:.06em;opacity:.8;font-size:.72rem}.train-strip__class{font-weight:700}.train-strip__free{font-size:.78rem}.seat-map__wagon{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.seat-map__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.seat-map__head h3{margin-bottom:2px}.wagon-plan{width:100%;height:auto;margin-top:8px;display:block}.wagon-plan--vertical{max-width:300px;margin-inline:auto}.wagon-plan__door{fill:var(--brass);opacity:.6}.wagon-plan__compartment{fill:none;stroke:#c9bb9c;stroke-width:3px}.wagon-plan__table{fill:#a87b45}.wagon-plan__counter{fill:#8a5a2e}.wagon-plan__counter-label{fill:#fff;font:700 18px var(--font-body)}.wagon-plan__dir{fill:var(--paper);font:600 10px var(--font-body);letter-spacing:.1em}.seat{cursor:default}.seat__shape{stroke:var(--green-900);stroke-width:1.5px;transition:fill .15s}.seat__back{fill:#0000002e}.seat__label{font:700 12px var(--font-body);fill:var(--ink);pointer-events:none}.seat--free{cursor:pointer}.seat--free .seat__shape{fill:var(--seat-free)}.seat--mine{cursor:pointer}.seat--mine .seat__shape{fill:var(--seat-mine);stroke:#7d5813;stroke-width:2.5px}.seat--cart{cursor:pointer}.seat--cart .seat__shape{fill:var(--seat-cart)}.seat--cart .seat__label{fill:var(--paper)}.seat--held .seat__shape{fill:var(--seat-held);stroke-dasharray:3 3}.seat--booked .seat__shape,.seat--off .seat__shape{fill:var(--seat-booked);stroke:#8f866f}.seat--booked .seat__label,.seat--off .seat__label{fill:#6f6758}.seat:focus{outline:none}.seat:focus-visible .seat__shape{stroke:var(--red);stroke-width:3px}.seat-legend{flex-wrap:wrap;gap:8px 18px;margin:14px 0 0;padding:0;font-size:.85rem;list-style:none;display:flex}.seat-legend li{align-items:center;gap:6px;display:flex}.seat-legend__swatch{border:1.5px solid var(--green-900);border-radius:5px;width:18px;height:18px}.seat-legend__swatch.seat--free{background:var(--seat-free)}.seat-legend__swatch.seat--mine{background:var(--seat-mine)}.seat-legend__swatch.seat--cart{background:var(--seat-cart)}.seat-legend__swatch.seat--held{background:var(--seat-held);border-style:dashed}.seat-legend__swatch.seat--booked{background:var(--seat-booked)}.cart-layout,.checkout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.cart-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.cart-item{justify-content:space-between;gap:16px;display:flex}.cart-item--error{border-color:var(--red)}.cart-item__main{flex-direction:column;gap:2px;min-width:0;display:flex}.cart-item__main a{color:var(--green-950);text-decoration:none}.cart-item__lines{margin:8px 0 0;padding:0;font-size:.86rem;list-style:none}.cart-item__lines li{justify-content:space-between;gap:8px;padding:3px 0;display:flex}.cart-item__side{flex-shrink:0;align-items:center;gap:12px;display:flex}.summary{position:sticky;top:140px}.summary h2{font-size:1.2rem}.summary dl{grid-template-columns:1fr auto;gap:6px 12px;margin:12px 0;display:grid}.summary dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.summary__discount{color:var(--green-700);display:contents}.summary__total{border-top:2px solid var(--line);margin-top:4px;padding-top:10px;font-size:1.2rem;font-weight:700}.summary__lines{max-height:340px;margin:0;padding:0;font-size:.88rem;list-style:none;overflow-y:auto}.summary__lines li{border-bottom:1px dashed var(--line);justify-content:space-between;gap:10px;padding:6px 0;display:flex}.summary__lines small{display:block}.checkout__main{flex-direction:column;gap:16px;display:flex}.form-card{border:1px solid var(--line)}.form-card legend,fieldset.form-card>legend{font-family:var(--font-head);color:var(--green-950);padding:0 6px;font-size:1.2rem;font-weight:700}.radio-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.radio-card{border:1.5px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;padding:10px 14px;display:flex}.radio-card span{flex:1}.radio-card.is-active{border-color:var(--green-900);background:var(--green-100)}.radio-card input{accent-color:var(--green-900)}.voucher-input{align-items:flex-end;gap:10px;display:flex}.voucher-input .field{flex:1}.points-redeem{border-radius:var(--radius-sm);background:var(--paper-2);margin-top:16px;padding:14px}.points-redeem__head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.points-redeem input[type=range]{width:100%;accent-color:var(--brass)}.earn-note,.secure-note{color:var(--green-700);align-items:center;gap:6px;font-size:.9rem;display:flex}.secure-note{color:var(--ink-2);margin-top:10px}.mock-pay{text-align:center}.mock-pay__amount{border:2px dashed var(--line);border-radius:var(--radius-sm);flex-direction:column;margin:16px 0;padding:20px;display:flex}.mock-pay__amount strong{font-size:2rem;font-family:var(--font-head)}.mock-pay__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.order-hero{border-radius:var(--radius);background:var(--paper-2);align-items:center;gap:20px;margin-bottom:8px;padding:24px;display:flex}.order-hero>div{flex:1}.order-hero--paid{background:var(--green-100)}.order-hero--cancelled,.order-hero--refunded{background:var(--red-100)}.earn-banner{background:var(--green-950);color:var(--brass-light);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:12px 18px;display:flex}.earn-banner a{color:var(--paper)}.ticket-grid,.voucher-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.ticket{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);break-inside:avoid;display:flex;overflow:hidden}.ticket__stub{border-right:2px dashed var(--line);background:#fff;flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.ticket__body{flex-direction:column;flex:1;gap:2px;min-width:0;padding:16px;display:flex}.ticket__body h3{margin:2px 0 4px}.ticket__body p{margin:0}.ticket__kind{letter-spacing:.1em;text-transform:uppercase;color:var(--brass);font-size:.72rem;font-weight:700}.ticket__date{font-weight:600}.ticket__seat{background:var(--green-900);color:var(--paper);border-radius:8px;gap:14px;width:fit-content;padding:6px 10px;font-size:.9rem;display:flex;margin:6px 0!important}.ticket__seat b{color:var(--brass-light);font-size:1.15rem}.ticket--used,.ticket--void{opacity:.6}.voucher-card{border-radius:var(--radius);color:var(--paper);background:linear-gradient(135deg, var(--green-900), var(--green-700));border:3px double var(--brass);break-inside:avoid;align-items:center;gap:16px;margin-bottom:16px;padding:18px;display:flex}.voucher-card__body{flex-direction:column;gap:2px;min-width:0;display:flex}.voucher-card__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--brass-light);font-size:.72rem}.voucher-card__value{font-family:var(--font-head);font-size:2.2rem;line-height:1.1}.voucher-card__msg{margin:4px 0;font-size:.92rem;font-style:italic}.voucher-card__code{letter-spacing:.1em;word-break:break-all;background:#00000040;border-radius:6px;width:fit-content;margin-top:6px;padding:4px 8px;font-family:ui-monospace,monospace}.voucher-card__code.is-preview{opacity:.6}.voucher-card__valid{opacity:.85;font-size:.78rem}.order-summary{margin-top:16px}.gauge__rim{fill:var(--brass)}.gauge__face{fill:#fdf8ec;stroke:#7d5813;stroke-width:2px}.gauge__track{fill:none;stroke:#e7dcc4;stroke-width:10px;stroke-linecap:round}.gauge__red{fill:none;stroke:#e2a99f;stroke-width:10px}.gauge__value{fill:none;stroke:var(--green-700);stroke-width:10px;stroke-linecap:round;transition:d .6s}.gauge__tick{stroke:var(--ink);stroke-width:2px}.gauge__needle{stroke:var(--red);stroke-width:4px;stroke-linecap:round}.gauge__hub{fill:var(--ink)}.gauge__label{font:700 16px var(--font-head);fill:var(--green-950)}.gauge__sublabel{font:500 10px var(--font-body);fill:var(--ink-2)}.rewards-card{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.rewards-card__body{flex-direction:column;flex:1;gap:4px;min-width:220px;display:flex}.rewards-card__balance{font-family:var(--font-head);color:var(--green-900);font-size:2rem}.rewards-hero{grid-template-columns:1.4fr 1fr;align-items:center;gap:24px;display:grid}.steps{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:4px;padding:18px;display:flex}.steps li:before{content:counter(step);background:var(--brass);width:34px;height:34px;color:var(--green-950);border-radius:50%;place-items:center;margin-bottom:6px;font-weight:700;display:grid}.tier-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.tier-card{background:var(--card);border:1px solid var(--line);border-top:6px solid color-mix(in srgb, var(--brass) calc(var(--i) * 33%), var(--green-700));border-radius:var(--radius);padding:18px}.tier-card.is-current{box-shadow:0 0 0 3px var(--brass)}.tier-card__level{text-transform:uppercase;color:var(--brass);font-size:.74rem;font-weight:700}.tier-card ul{padding-left:18px;font-size:.9rem}.account-grid{grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;display:grid}.order-list{margin:0;padding:0;list-style:none}.order-list li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:10px 0;display:grid}.order-list a{flex-direction:column;text-decoration:none;display:flex}.status{white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:.78rem;font-weight:700}.status--paid{background:var(--green-100);color:var(--green-900)}.status--pending{background:var(--amber-100);color:#6b4b0d}.status--cancelled,.status--refunded{background:var(--red-100);color:var(--red)}.auth-card{text-align:center}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.table th{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-size:.78rem}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table .plus{color:var(--green-700);font-weight:700}.table .minus{color:var(--red);font-weight:700}.table .is-muted{opacity:.5}.admin .card{margin-bottom:16px;overflow-x:auto}.tabs{border-bottom:2px solid var(--line);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}.tabs button{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-2px;padding:10px 16px;font-weight:600}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px;display:grid}.stat{background:var(--green-900);color:var(--paper);border-radius:var(--radius);flex-direction:column;padding:16px;display:flex}.stat span{color:var(--brass-light);font-size:.82rem}.stat strong{font-family:var(--font-head);font-size:1.6rem}.meter{background:linear-gradient(90deg, var(--brass) calc(var(--v) * 100%), var(--paper-2) 0);vertical-align:middle;border-radius:4px;width:60px;height:8px;margin-right:8px;display:inline-block}.toolbar{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.toolbar input{flex:1;min-width:180px}.toolbar select{width:auto}.checkin{border-radius:var(--radius-sm);flex-direction:column;gap:4px;margin-top:12px;padding:16px;display:flex}.checkin--ok{background:var(--green-100);border-left:6px solid var(--green-700)}.checkin--bad{background:var(--red-100);border-left:6px solid var(--red)}.checkin .btn{width:fit-content;margin-top:8px}.prose table{margin-bottom:1.4em}.footer{background:var(--green-950);color:var(--paper);margin-top:40px}.footer__track{background:var(--green-900);border-bottom:4px solid #3d3a32;height:64px;position:relative;overflow:hidden}.footer__track .loco{animation:22s linear infinite drive;position:absolute;bottom:-4px}@keyframes drive{0%{left:100%}to{left:-140px}}.footer__inner{flex-wrap:wrap;justify-content:space-between;gap:24px;padding-block:24px;display:flex}.footer__inner p{color:#f7f2e7b3;font-size:.9rem}.footer nav{flex-wrap:wrap;gap:16px;display:flex}.footer a{color:var(--brass-light);font-size:.9rem}@media (width<=960px){.booking,.cart-layout,.checkout,.product-detail,.account-grid,.rewards-hero,.rewards-teaser{grid-template-columns:1fr}.booking__summary,.summary,.product-detail__media{position:static}.hero__inner{grid-template-columns:1fr;padding-block:36px}.hero__art{order:-1}.hero__art .loco{width:280px}}@media (width<=720px){.topbar,.search,.hide-sm{display:none}.header__menu{display:block}.catnav{display:none}.catnav--open{display:block}.catnav__inner{flex-direction:column}.trip-row{grid-template-columns:1fr}.trip-row__action{justify-content:space-between}.form-grid,.ticket-grid,.voucher-grid,.upcoming{grid-template-columns:1fr}.ticket{flex-direction:column}.ticket__stub{border-right:0;border-bottom:2px dashed var(--line)}.cart-item{flex-direction:column}.cart-item__side{justify-content:space-between}.order-hero{flex-direction:column;align-items:flex-start}.rewards-teaser{padding:22px}.ticket-types li{grid-template-columns:1fr auto}.ticket-types li .stepper{grid-column:1/-1;justify-self:start}}@media print{.topbar,.header,.footer,.no-print,.earn-banner,.order-summary,.toast{display:none!important}body{background:#fff}.order-hero{background:0 0;padding:0}.order-hero .loco{display:none}.ticket,.voucher-card{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.pairing{border:2px dashed var(--line);flex-direction:column;gap:4px;margin-top:12px;padding:16px;display:flex}.pairing strong{letter-spacing:.15em;font-family:ui-monospace,monospace;font-size:2rem}.chips-list{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.chips-list li{border:1px solid var(--line);align-items:center;gap:6px;padding:4px 4px 4px 12px;display:flex}.chips-list .is-muted{opacity:.5}body{background:#fff;font-size:15px}h1,h2,h3{letter-spacing:-.01em;color:#000;font-weight:700}a{color:var(--red);text-decoration:none}a:hover{color:var(--red);text-decoration:underline}.eyebrow{color:var(--red)}.btn{text-transform:uppercase;letter-spacing:.04em;border:0 solid #00000021;border-bottom-width:4px;border-radius:0;padding:12px 24px 10px;font-size:.88rem}.btn--primary,.btn--brass{background:var(--red);color:#fff}.btn--primary:hover:not(:disabled),.btn--brass:hover{background:var(--red);color:#fff;box-shadow:0 4px #0000003b}.btn--ghost{border:1px solid var(--line);color:#111;background:#fff;border-bottom-width:4px}.btn--ghost-light{border:1px solid #fff9;border-bottom-width:4px}.chip,.date-chip,.stepper,.search,.field input,.field select,.field textarea,.tag,.status,.hold-timer,.toast,.radio-card,.points-redeem,.notice,.upcoming__date,.train-strip__wagon,.voucher-card__code,.order-hero,.earn-banner{border-radius:0}.chip.is-active,.date-chip.is-active,.radio-card.is-active{background:var(--red);border-color:var(--red);color:#fff}.radio-card.is-active{background:var(--red-100);color:#111}.topbar{color:#666;background:#f1f0f1}.topbar a{color:#333}.topbar a:hover{color:var(--red)}.header{color:#111;box-shadow:0 4px 0 var(--red);background:#fff}.brand,.brand__text strong,.header__action,.header__menu{color:#111}.brand__text small{color:var(--red)}.header__action:hover{color:var(--red);background:#f1f0f1}.search{background:#f1f0f1;border:1px solid #f0f0f0;border-radius:0}.search input{color:#111}.search input::placeholder{color:#888}.badge{background:var(--red);color:#fff}.catnav{background:#fff;border-top:1px solid #f0f0f0}.catnav__inner{justify-content:center}.catnav__link{color:#111}.catnav__link:hover,.catnav__link.active{color:var(--red);border-bottom-color:var(--red)}.catnav__link .icon{color:var(--red)}.hero{background:linear-gradient(120deg,#1d1d1b 0%,#2b2a28 60%,#3a1515 100%)}.hero__art .loco__boiler,.hero__art .loco__cab,.hero__art .loco__tender{fill:#111;stroke:var(--red)}.loco__boiler,.loco__cab,.loco__tender{fill:#1d1d1b}.loco__band,.loco__dome{fill:#cfced0}.loco__window{fill:#f6e7b0}.brand .loco__boiler,.brand .loco__cab,.brand .loco__tender{fill:#1d1d1b}.section__title,.summary h2,.card>h2{border-bottom:2px solid #f0f0f0;padding-bottom:10px}.card,.buy-box,.category-tile,.upcoming__item,.trip-row,.steps li,.tier-card,.ticket,.seat-map__wagon{border-color:#f0f0f0;border-radius:0}.category-tile .icon,.page-head .icon{color:var(--red)}.category-tile:hover,.upcoming__item:hover{border-color:var(--red)}.price{color:#111}.upcoming__date{background:var(--red);color:#fff}.upcoming__date b{color:#fff}.rewards-teaser{background:#1d1d1b;border-radius:0}.rewards-teaser .btn--primary{background:var(--red);color:#fff}.rewards-teaser__tiers span{background:linear-gradient(90deg, var(--red), transparent);color:#fff;border-radius:0}.stat{background:#1d1d1b;border-radius:0}.stat span{color:#f6c9c9}.tier-card{border-top:6px solid var(--red)}.steps li:before{background:var(--red);color:#fff;border-radius:0}.earn-banner{color:#fff;background:#1d1d1b}.wagon-plan__body{fill:#1d1d1b}.wagon-plan__floor{fill:#f7f6f7}.wagon-plan__aisle{fill:#ecebec}.wagon-plan__door{fill:var(--red)}.seat__shape{stroke:#1d1d1b}.seat--free:hover .seat__shape,.seat--free:focus-visible .seat__shape{fill:#f6c9c9}.seat--mine .seat__shape{stroke:#7a0f10}.seat--mine .seat__label{fill:#fff}.train-strip__wagon{background:#fff;border-color:#1d1d1b}.train-strip__wagon.is-active{background:#1d1d1b}.train-strip__free b{color:var(--red)}.ticket__seat{background:#1d1d1b;border-radius:0}.ticket__seat b{color:#f6c9c9}.voucher-card{border:0;border-left:8px solid var(--red);background:linear-gradient(135deg,#1d1d1b,#3a3936);border-radius:0}.voucher-card--winter{background:linear-gradient(135deg,#24384f,#50708f)}.voucher-card--heizhaus{background:linear-gradient(135deg,#3d2a1c,#6e4426)}.voucher-card--geburtstag{background:linear-gradient(135deg,#8f1314,#c4151c)}.voucher-card__art .loco__boiler,.voucher-card__art .loco__cab,.voucher-card__art .loco__tender{fill:#fff}.voucher-card__eyebrow{color:#f6c9c9}.footer{color:#333;border-top:4px solid var(--red);background:#f1f0f1}.footer__track{background:#fff;border-bottom:4px solid #cfced0}.footer__inner p{color:#666}.footer a{color:#333}.field input:required,.field select:required{border-bottom:3px solid var(--line)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:none}.check input,.radio-card input,.points-redeem input[type=range]{accent-color:var(--red)}.tabs button.is-active{color:var(--red);border-bottom-color:var(--red)}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.category-tile strong{overflow-wrap:anywhere}@media (width<=720px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.brand__logo{width:auto;height:52px;display:block}.brand__shop{background:var(--red);color:#fff;letter-spacing:.12em;text-transform:uppercase;align-self:flex-end;margin-bottom:4px;padding:3px 8px 2px;font-size:.7rem;font-weight:700}.footer__logo{width:auto;height:56px;margin-bottom:10px;display:block}.hero{color:#111;background:radial-gradient(circle at 72% 55%,#c51a1b2e,#0000 45%),linear-gradient(#fff 0%,#f1f0f1 100%);border-bottom:1px solid #f0f0f0}.hero h1{color:#000}.hero p{color:#333}.hero .btn--ghost-light{color:#111;border-color:var(--line);background:#fff}.hero__inner{padding-block:40px 24px}.hero__loco{filter:drop-shadow(0 18px 24px #00000059);width:100%;max-width:600px;height:auto}@media (width<=960px){.hero__loco{max-width:380px}}.order-summary dl{grid-template-columns:1fr auto;gap:6px 12px;margin:12px 0;display:grid}.order-summary dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.voucher-card__code{word-break:keep-all;white-space:nowrap;letter-spacing:.06em;font-size:clamp(.72rem,2.4vw,.95rem)}.legal h2{margin-top:1.6em}.legal blockquote{border-left:4px solid var(--red);background:var(--red-100);margin:0 0 1.5em;padding:12px 16px}.legal mark.placeholder{background:#fff4b8;padding:0 2px}.legal li{margin-bottom:4px}.admin-shell{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:28px;padding:24px 0 48px;display:grid}.admin-nav{flex-direction:column;gap:18px;font-size:.9rem;display:flex;position:sticky;top:16px}.admin-nav__group{flex-direction:column;gap:2px;display:flex}.admin-nav__group>span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);padding:0 12px 4px;font-size:.72rem;font-weight:700}.admin-nav a{color:var(--ink);border-left:3px solid #0000;padding:7px 12px;text-decoration:none}.admin-nav a:hover{background:var(--card)}.admin-nav a.active{border-left-color:var(--red);background:var(--card);color:var(--red);font-weight:600}.admin-main{min-width:0}.admin-shell--embed{grid-template-columns:minmax(0,1fr);padding:16px}.admin-main .card{margin-bottom:16px;overflow-x:auto}.admin-page__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.admin-page__head h1{margin:0;font-size:1.7rem}.admin-page__head p{margin:4px 0 0}.admin-page__actions,.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.table .row-actions{flex-wrap:nowrap;justify-content:flex-end}.row-actions .spacer{flex:1}.admin-page>.table{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:16px}.admin-page .toolbar{align-items:center;margin-bottom:14px}.card__head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.card__head h2,.card__head p{margin:0}.admin-columns{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0 16px;display:grid}.btn--sm{border-width:1.5px;padding:5px 12px;font-size:.82rem}.btn--danger{border-color:var(--red);color:var(--red);background:0 0}.btn--danger:hover:not(:disabled){background:var(--red);color:#fff}.link-btn{color:var(--red);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.link-btn.small{text-transform:none;letter-spacing:0;margin-left:auto;font-size:.72rem;display:block}.neg{color:var(--red)}.pos{color:#2f7a3e}.table--compact td,.table--compact th{padding:6px 8px}.table tfoot td{border-bottom:0;border-top:2px solid var(--ink)}.table code,.admin-main code{background:var(--paper-2);padding:1px 5px;font-size:.82rem}.input-sm,.table input{border:1.5px solid var(--line);text-align:right;width:96px;padding:5px 8px}.table input[type=datetime-local]{text-align:left;width:auto}.table input:not([type]){text-align:left;width:100%}.badge-admin{white-space:nowrap;background:var(--paper-2);color:var(--ink-2);border-radius:999px;padding:2px 8px;font-size:.74rem;font-weight:600;display:inline-block}.badge-admin--green{color:#2f7a3e;background:#e3f2e5}.badge-admin--red{background:var(--red-100);color:var(--red)}.badge-admin--amber{background:var(--amber-100);color:#8a5a00}.badge-admin--dark{background:var(--green-950);color:#fff}.admin-empty{text-align:center;color:var(--ink-2);background:var(--card);border:1px dashed var(--line);padding:24px}.card .admin-empty{border:0;padding:12px}.check-row{flex-wrap:wrap;gap:24px;display:flex}.check-row .check{margin:0}.fieldset{border:1px solid var(--line);margin:0;padding:12px 16px}.fieldset legend{padding:0 6px;font-weight:700}.fieldset .check{margin:6px 0}.money-input{border:1.5px solid var(--line);background:#fff;align-items:center;display:flex}.money-input input,.field .money-input input,.table .money-input input{text-align:right;width:100%;min-width:70px;box-shadow:none;border:0;padding:8px 6px 8px 10px}.money-input span{color:var(--ink-2);padding:0 10px 0 2px}.price-matrix th.num{min-width:140px}.segmented{border:1.5px solid var(--line);background:#fff;display:inline-flex}.segmented button{cursor:pointer;font:inherit;background:0 0;border:0;padding:7px 14px;font-size:.88rem}.segmented button+button{border-left:1.5px solid var(--line)}.segmented button.is-active{background:var(--green-950);color:#fff}.weekday-picker{flex-wrap:wrap;gap:6px;display:flex}.weekday-picker input{opacity:0;pointer-events:none;position:absolute}.scroll-box{border:1px solid var(--line);max-height:46vh;overflow:auto}.input-search{border:1.5px solid var(--line);padding:9px 12px}.dl{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.dl dt{color:var(--ink-2);font-size:.85rem}.dl dd{overflow-wrap:anywhere;margin:0}.stat-grid--2{grid-template-columns:1fr 1fr}.consist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.consist li{border:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.consist li>div:first-child{flex-direction:column;display:flex}.consist__loco{color:#fff;font-weight:600;background:var(--green-950)!important}.layout-preview{background:var(--paper);min-height:120px;padding:12px}.layout-preview.is-loading{opacity:.5}.layout-preview .wagon-plan{width:100%;height:auto}.layout-preview p{margin:6px 0 0}.admin-modal{z-index:100;background:#00000073;justify-content:center;align-items:flex-start;padding:6vh 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.admin-modal__box{background:var(--card);border-top:5px solid var(--red);width:min(560px,100%);box-shadow:0 20px 60px #0000004d}.admin-modal__box.is-wide{width:min(960px,100%)}.admin-modal__box>header{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 0;display:flex}.admin-modal__box>header h2{margin:0;font-size:1.2rem}.admin-modal__body{padding:16px 20px 20px}.admin-modal .form-grid{margin-bottom:0}.mail-frame{border:1px solid var(--line);background:#fff;width:100%;height:60vh}.mail-text{white-space:pre-wrap;background:var(--paper);max-height:60vh;margin:0;padding:12px;font-size:.82rem;overflow:auto}mark.placeholder{background:#fff4b8;padding:0 2px}.md-editor{grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;display:grid}.md-editor textarea{min-height:70vh;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem;line-height:1.5}.md-editor__preview{background:var(--card);border:1px solid var(--line);max-height:calc(70vh + 28px);margin-top:23px;padding:8px 24px;overflow:auto}@media (width<=960px){.admin-shell{grid-template-columns:1fr;gap:16px}.admin-nav{border-bottom:1px solid var(--line);flex-direction:row;gap:12px;padding-bottom:6px;position:static;overflow-x:auto}.admin-nav__group{flex-direction:row;flex-shrink:0;align-items:center}.admin-nav__group>span{display:none}.admin-nav a{white-space:nowrap;border-bottom:3px solid #0000;border-left:0}.admin-nav a.active{border-bottom-color:var(--red)}.md-editor{grid-template-columns:1fr}.admin-page>.table{display:block;overflow-x:auto}}@media (width<=720px){.stat-grid--2{grid-template-columns:1fr}}.toolbar .check{align-items:center;margin:0}.toolbar .check input{flex:none;width:auto;min-width:0;margin:0}.topbar{background:var(--paper);color:var(--ink-2)}.topbar__inner{flex-wrap:wrap;align-items:center}.topbar nav{flex-wrap:wrap}.topbar a{color:#000;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.topbar a:hover,.topbar__home{color:var(--red)}.catnav__link{text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;font-weight:600}.catnav__site{display:none}.footer{color:#fff;background:0 0;border-top:0}.footer__track{border-bottom:5px solid var(--red);background:0 0}.footer__inner,.footer__bottom{background:#000;max-width:none;padding-inline:max(16px,50% - 584px)}.footer__inner{grid-template-columns:2fr 1fr 1fr;gap:24px;font-size:.875rem;font-weight:600;display:grid}.footer__inner p,.footer__bottom p{color:#fff;margin-bottom:.8em;font-size:.875rem;line-height:1.4}.footer__logo{filter:brightness(0)invert()}.footer h2{color:#fff;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.8rem}.footer__col{flex-direction:column;gap:4px}.footer a,.footer__inner a{color:#fff;font-size:.875rem;text-decoration:none}.footer a:hover{color:#ffffffb3}.footer__bottom{border-top:1px solid #fff3;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-block:12px 18px;font-weight:600;display:flex}.footer__bottom p{margin:0}.footer__bottom nav a+a:before{content:"|";margin-left:-8px;margin-right:16px}@media (width<=720px){.catnav__site{border-top:1px solid var(--line);flex-direction:column;margin-top:4px;display:flex}.footer__inner{grid-template-columns:1fr 1fr}.footer__museum{grid-column:1/-1}}
