@charset "UTF-8";
:root{--brand-color:#ffff9e;--brand-color-darker:#de8;--brand-color-darker-darker:#cd7;--border-color:var(--brand-color-darker);--border-color-darker:var(--brand-color-darker-darker);--black:#000;--white:#fff;--red:#f00;--background-color:var(--white);--text-color:#222;--link-color:#54c;--active-link-color:var(--black);--summary-marker-color:var(--border-color);color-scheme:light}
.dark-mode{--brand-color:#444;--brand-color-darker:#555;--brand-color-darker-darker:#666;--border-color:#444;--border-color-darker:#555;--background-color:#222;--text-color:#fff;--link-color:#E4BFFF;--active-link-color:#fff;--summary-marker-color:#eee;color-scheme:dark}
body{background:var(--background-color);color:var(--text-color);font-family:-apple-system,BlinkMacSystemFont,Aptos,"Segoe UI Variable","Segoe UI",Roboto,"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;margin:0;accent-color:var(--brand-color-darker)}
.skip{display:block;height:0;overflow:hidden;text-align:center}
.skip:focus{height:auto}
header,main,footer{display:block}
main{margin:0 auto;padding:0 16px}
a{color:var(--link-color);text-decoration:none}
a:hover,a:focus{text-decoration:underline;text-decoration-skip-ink:auto}
a:active{background-color:var(--brand-color);color:var(--active-link-color)}
abbr{cursor:help;font-weight:700;text-decoration:none}
label{cursor:pointer}
form p select{box-sizing:border-box;display:block;width:100%}
select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--background-color);background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 16 8' width='16' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon points='0,0 4,8 8,0'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right;border:1px solid var(--border-color);border-radius:.5em;color:inherit;font:inherit;padding:.25em 1.5em .25em .25em;max-width:100%}
.dark-mode select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 16 8' width='16' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolygon fill='%23eee' points='0,0 4,8 8,0'/%3E%3C/svg%3E")}
.site-header{background:var(--brand-color);overflow:hidden;position:relative}
.site-header a{color:var(--text-color);display:inline-block;line-height:1;padding:16px}
.site-header a:hover{background-color:var(--brand-color-darker);text-decoration:none}
.site-header .site-name{font-size:24px;display:inline-block;padding:10px 16px}
.site-header div{margin:0 auto}
.site-header div .site-name{position:static;display:inline-block;vertical-align:middle}
.site-header ul{float:right;margin:0}
.site-header ul li{display:inline}
.site-header ul a{line-height:1.5em;padding:1em;padding-left:.5em}
h1{font-size:28px;line-height:1.2em;margin:1rem 0}
h2{font-size:20px;line-height:1.2em;margin:1rem 0}
h3{font-size:1em}
.button,input[type=submit]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--brand-color);border:0;border-bottom:1px solid var(--brand-color-darker);border-radius:12px;color:inherit;display:inline-block;font:inherit;padding:4px 8px;position:relative;margin-bottom:1px;top:1px;cursor:pointer}
.button:hover,input[type=submit]:hover{border-bottom-width:2px;text-decoration:none;margin-bottom:0;top:0}
.button:focus,.button:active,input[type=submit]:focus,input[type=submit]:active{background-color:var(--brand-color-darker);border-bottom:0;margin-bottom:2px;top:1px}
input[type=text],input[type=url],input[type=email],input[type=password],input[type=number],textarea{display:block;width:100%}
input[type=text],input[type=url],input[type=number],input[type=email],input[type=password],input[type=search],input[type=date],input[type=time],textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--background-color);border:1px solid var(--border-color);border-radius:.5em;box-sizing:border-box;color:inherit;font:inherit;outline:0;padding:.25em .5em}
input[type=file]{font:inherit}
input[type=text]:focus,input[type=url]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=date]:focus,input[type=time]:focus,textarea:focus{border-color:var(--border-color-darker)}
.helptext{display:block;font-size:14px}
.errorlist{margin:0;color:var(--red)}
ul{list-style:none;padding:0}
ol{padding:0}
ul,ol{margin:1em 0}
.breadcrumb{border-bottom:1px solid var(--brand-color-darker);margin:0 -1em;overflow:auto;padding:.5em 0 0 .5em;white-space:nowrap}
.breadcrumb li{display:inline-block;margin:0;margin-top:-.5em}
.breadcrumb li:after{color:var(--border-color-darker);content:'\203A';vertical-align:middle;padding:0}
.breadcrumb li:last-child:after{padding-right:0;width:0}
.breadcrumb a{display:inline-block;padding:.75em .5em;vertical-align:middle}
table{border-collapse:collapse}
td{border-top:1px solid var(--border-color)}
th a,.link a,.fleet a{display:block;margin:-.25em -.5em;padding:.25em .5em}
th,td{border-left:1px solid var(--border-color);padding:.25em .5em;text-align:left}
th:first-child,td:first-child{border-left:0;padding-left:0}
th:first-child a,td:first-child a{margin-left:0;padding-left:0}
th:last-child,td:last-child{padding-right:0}
th:last-child a,td:last-child a{margin-right:0;padding-right:0}
thead th{padding-top:0;vertical-align:bottom}
.table-wrapper{margin:0 -1em;overflow-x:auto}
.table-wrapper table{border-collapse:separate;border-spacing:0;padding:0 1rem;white-space:nowrap}
.compact{font-size:.875em}
.compact td{vertical-align:top}
.tabular,td.tabular{font-variant-numeric:tabular-nums}
.horizontal li{display:inline-block}
.horizontal li a{display:inline}
.horizontal li::after{color:var(--border-color-darker);content:'  \00B7  ';font-weight:700}
.horizontal li:last-child::after{display:none}
.tabs{border-bottom:1px solid var(--brand-color-darker);display:flex;overflow:auto;margin:1em -.75em}
.tabs>li{box-shadow:inset 0 -4px var(--brand-color-darker);float:left;margin:0 .75em;padding-top:.25em;padding-bottom:.75em}
.tabs>li>a{box-shadow:inset 0 -4px var(--background-color);padding:.25em .75em .75em;margin:-.25em -.75em -.75em}
footer{clear:both;margin-top:1.5em;text-align:center}
footer ul{border-top:1px solid var(--brand-color-darker);clear:both;margin:0;overflow:hidden;padding:1em .625em;white-space:nowrap;font-size:.75em}
footer ul a{padding:1.2em .25em}
.message{border:1px solid var(--border-color);padding:1em}
.message p,.message h2{margin-top:0}
.message ul{margin:0}
#content{user-select:none;-webkit-user-select:none}
#content img,#content canvas,#content video,#content embed{pointer-events:none;transform:translateZ(0);-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}
pre{white-space:pre-wrap}
.reg{font-family:"Charles Wright";text-align:center;color:var(--text-color);font-weight:400}
@font-face{font-family:"Charles Wright";src:url("../CharlesWright-Bold.woff2") format("woff2"),url("../CharlesWright-Bold.woff") format("woff")}
p{margin:1em 0}
.long{column-width:20em;column-gap:1em}
.long li{break-inside:avoid}
.long a{display:block;overflow:hidden;padding:.125em 0;text-overflow:ellipsis;white-space:nowrap}
.desc{display:block;font-size:.85em;opacity:.7;margin-top:.25em}
details{margin:1em 0}
summary{cursor:pointer;font-weight:700}
summary::marker{color:var(--border-color-darker)}
.contact-details{display:flex;flex-wrap:wrap;gap:1em;overflow-wrap:anywhere}
.contact-details dt{font-size:12px}
.contact-details dd{margin:0}
.livery{display:inline-block;height:1.5em;vertical-align:middle;width:2.25em;border:1px solid var(--active-link-color)}
.fleet .livery-cell{position:relative;padding-left:3.5em}
.fleet .livery-cell .livery{left:.5em;position:absolute;top:.2em}
.fleet .trivia{display:none}
.fleet td{overflow:hidden}
nav{margin:1em auto;overflow:hidden}
nav ul,nav p{margin:0}
.previous{float:left}
.next{float:right}
.horizontal + .tab-content,.tab-content{display:none}
.tab-content.active{display:block}
li.active{font-weight:700}
@media(min-width:30em){.site-header ul a{padding-left:1em}}
@media(min-width:48em){.narrow header div{width:45.5em + 2em}.narrow main{width:45.5em}.fleet .trivia{display:table-cell}}
@media(min-width:62.5em){.site-header div{padding:0 1em}main{padding:0 2em}.table-wrapper{margin:0 -2em}.table-wrapper table{padding:0 2rem}.breadcrumb{margin:0 -2em;padding-left:1.5em}.wide .site-header div{width:62.5em}.wide main{max-width:60.5em}}
@media print{#content{display:none}header,.breadcrumb,.tabs,input,label,footer{display:none}body,main,a{color:#000}h1{font-size:1.75em;margin-top:0}.table-wrapper{overflow:visible}td,th{border-color:#eee}}
.button.danger,.danger{background:#c0392b;border-bottom-color:#922b21;color:#fff}
.form-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
.plans-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:.5rem 0 1rem}
.plans-toolbar .horizontal{margin:0}
.btn-download{display:inline-flex;align-items:center;gap:.4em;background:linear-gradient(135deg,var(--brand-color),var(--brand-color-darker));border:1px solid var(--brand-color-darker);border-radius:999px;color:var(--text-color);font:inherit;font-weight:700;padding:.5em 1.1em;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:transform .08s ease,box-shadow .08s ease,background .15s ease;cursor:pointer}
.btn-download:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.25);background:linear-gradient(135deg,var(--brand-color-darker),var(--brand-color-darker-darker))}
.btn-download:active{transform:translateY(1px);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.btn-download:focus-visible{outline:3px solid var(--link-color);outline-offset:2px}
.btn-download-icon{font-size:1.1em;line-height:1}
.dark-mode .btn-download{box-shadow:0 2px 8px rgba(0,0,0,.5)}
.gdpr-warning{border:2px solid #e0a800;background:#fff8e1;border-radius:10px;padding:1em 1.25em;margin:1em 0}
.gdpr-warning-title{font-weight:700;font-size:1.1em;margin:.25em 0 .5em;color:#8a6d00}
.gdpr-warning ul{margin:.5em 0;list-style:disc;padding-left:1.5em}
.gdpr-warning li{margin:.25em 0}
.gdpr-consent{font-weight:600;margin:1.25em 0}
.gdpr-consent input[type=checkbox]{width:1.1em;height:1.1em;vertical-align:middle;margin-right:.4em}
.dark-mode .gdpr-warning{border-color:#b58900;background:#3a3320;color:#fff}
.dark-mode .gdpr-warning-title{color:#ffd76a}
.stores-summary{font-size:1.05em;margin:1em 0}
.stores-filter{margin:.5em 0 1em}
.stores-table td,.stores-table th{vertical-align:middle}
.stock-cell{white-space:nowrap}
.stock-control{display:inline-flex;align-items:center;gap:.4em;margin:0}
.stock-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--brand-color);border:1px solid var(--brand-color-darker);border-radius:6px;color:var(--text-color);cursor:pointer;font:inherit;font-weight:700;line-height:1;width:1.8em;height:1.8em;display:inline-flex;align-items:center;justify-content:center;padding:0}
.stock-btn:hover{background:var(--brand-color-darker)}
.stock-count{display:inline-block;min-width:1.6em;text-align:center;font-variant-numeric:tabular-nums;font-weight:700;font-size:1.05em}
.stock-out{color:#c0392b;background:#ffe9e6;border-radius:6px;padding:.05em .4em}
.dark-mode .stock-out{color:#ff6b5e;background:#4a1f1c}
.download-list{border-top:1px solid var(--border-color);margin:1em 0}
.download-list li{border-bottom:1px solid var(--border-color);padding:.6em .25em}
.download-list a{display:block;font-weight:600}
.profile-card{display:flex;align-items:center;gap:1.25em;background:linear-gradient(135deg,var(--brand-color),var(--brand-color-darker));border-radius:14px;padding:1.25em 1.5em;margin:1em 0;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.profile-avatar{width:64px;height:64px;flex:0 0 64px;border-radius:50%;background:rgba(255,255,255,.85);color:#2c3e50;display:flex;align-items:center;justify-content:center;font-size:1.6em;font-weight:800;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.profile-id h1{margin:0;font-size:1.5em;line-height:1.1}
.profile-handle{margin:.15em 0 .5em;opacity:.75;font-size:.9em}
.profile-role{display:inline-block;background:rgba(0,0,0,.18);color:inherit;border-radius:999px;padding:.15em .8em;font-size:.8em;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.profile-details{margin:1em 0}
.profile-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.5em}
.dark-mode .profile-card{box-shadow:0 2px 10px rgba(0,0,0,.5)}
.dark-mode .profile-avatar{background:#2c3e50;color:var(--brand-color)}
.policy-changes{border:2px solid var(--brand-color-darker);background:var(--brand-color);border-radius:12px;padding:1em 1.25em;margin:1em 0}
.policy-changes-title{font-weight:700;font-size:1.1em;margin:.1em 0 .5em}
.policy-changes ul{margin:.5em 0;list-style:disc;padding-left:1.5em}
.policy-changes li{margin:.25em 0}
.dark-mode .policy-changes{border-color:#5a5a2a;background:#3a3320;color:#fff}

/* ---- Site Banners ---- */
#site-banners{position:sticky;top:0;z-index:1000;display:flex;flex-direction:column;gap:4px;padding:0 8px}
.site-banner{border-radius:8px;padding:6px 12px;font-size:14px;display:flex;align-items:center;gap:8px}
.site-banner a{color:inherit;text-decoration:none;font-weight:600}
.site-banner a:hover{text-decoration:underline}
.site-banner__content{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.site-banner__message{font-weight:400;font-size:13px;opacity:.92}
.site-banner__dismiss{background:none;border:none;font-size:20px;cursor:pointer;padding:0 4px;line-height:1;opacity:.6;color:inherit}
.site-banner__dismiss:hover{opacity:1}
.site-banner--info{background:#e8f0fe;border:1px solid #4285f4;color:#1a3a6e}
.site-banner--warning{background:#fff3cd;border:1px solid #f0ad4e;color:#664d03}
.site-banner--error{background:#fce4e4;border:1px solid #d93025;color:#6e1a1a}
.site-banner--maintenance{background:#f3e5f5;border:1px solid #7b1fa2;color:#4a148c}
.dark-mode .site-banner--info{background:#1a2a4a;border-color:#4285f4;color:#c0d0f0}
.dark-mode .site-banner--warning{background:#3a3020;border-color:#f0ad4e;color:#f0e0b0}
.dark-mode .site-banner--error{background:#3a1a1a;border-color:#d93025;color:#f0c0c0}
.dark-mode .site-banner--maintenance{background:#2a1a3a;border-color:#7b1fa2;color:#d0b0f0}
.dark-mode .ban-notice{background:#2a1318;border-color:#5a1a1a;color:#f0c0c0}
.ban-notice{background:#fff5f5;border:3px solid #c0392b;border-radius:12px;padding:2em;margin:2em 0;text-align:center;box-shadow:0 4px 20px rgba(192,57,43,0.3)}
.ban-notice h1{color:#c0392b;font-size:1.8em;margin-bottom:.25em}
.ban-icon{font-size:3em;margin-bottom:.5em;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}
.ban-intro{font-size:1.1em;color:#555;margin-bottom:1em}
.ban-details{background:#fff;border-radius:8px;padding:1em 1.5em;margin:1.5em 0;text-align:left;border:2px solid #e74c3c}
.ban-reason{font-size:1.05em;margin-bottom:.5em}
.ban-expired{font-weight:700}
.ban-expiry{color:#e67e22;font-weight:600}
.ban-remaining{color:#c0392b}
.ban-permanent{font-size:1.1em}
.ban-by{font-size:.9em;color:#777}
.ban-warning{background:#fdecea;border:2px solid #e74c3c;border-radius:8px;padding:1em;margin:1.5em 0}
.ban-warning p{margin:.5em 0;font-size:.95em}
.button--danger{background:#c0392b!important;color:#fff!important;border-color:#c0392b!important}
.button--danger:hover{background:#a93226!important}
.dark-mode .ban-notice{background:#2a1318;border-color:#8b1a1a;color:#f0c0c0;box-shadow:0 4px 20px rgba(200,50,40,0.4)}
.dark-mode .ban-details{background:#1a0a0a;border-color:#5a1a1a}
.dark-mode .ban-warning{background:#1a0a0a;border-color:#5a1a1a}
.badge{display:inline-block;padding:.15em .6em;border-radius:999px;font-size:12px;font-weight:600;text-transform:uppercase}
.badge--info{background:#e8f0fe;color:#1a3a6e}
.badge--warning{background:#fff3cd;color:#664d03}
.badge--error{background:#fce4e4;color:#6e1a1a}
.badge--maintenance{background:#f3e5f5;color:#4a148c}
