:root{--navy:#092549;--blue:#086ac6;--muted:#536782;--line:#dce6f1;--paper:#f5f8fc;--green:#08734c;--gold:#947000}*{box-sizing:border-box}body{margin:0;color:var(--navy);background:var(--paper);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--blue);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}header{background:white;padding:20px max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;white-space:nowrap;color:var(--navy);font-size:21px;font-weight:750;letter-spacing:-.6px}.brand img{object-fit:contain}.brand small{display:block;font-weight:450;font-size:12px;letter-spacing:0;color:var(--muted)}nav{display:flex;gap:22px;margin-left:auto}nav a{font-size:14px;font-weight:650;text-decoration:none;color:var(--muted);padding:8px 0;border-bottom:2px solid transparent}nav a.active{color:var(--blue);border-color:var(--blue)}.beta{font-size:12px;letter-spacing:.7px;background:#e9f2fc;padding:6px 10px;border-radius:5px;white-space:nowrap}main{max-width:1248px;margin:auto;padding:0 24px}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--navy);color:white;margin:26px 0 0;padding:35px 42px;border-radius:16px;position:relative;overflow:hidden}.intro:after{content:"";position:absolute;top:0;right:31%;height:100%;width:1px;background:#ffffff15;transform:rotate(18deg)}.eyebrow{font-size:12px;font-weight:750;letter-spacing:2px;color:var(--blue);margin:0 0 12px}.intro .eyebrow{color:#8cc9ff}.eyebrow span{font-weight:400;letter-spacing:.3px;color:#b9cbe0;margin-left:12px}h1{font-size:clamp(36px,4vw,54px);line-height:1.06;letter-spacing:-2px;margin:0 0 17px}h1 span{color:#87c7ff}.intro p:last-child{font-size:16px;color:#c4d6e9;margin:0}.intro-note{width:265px;padding-left:30px}.route-mark{display:block;font-size:44px;letter-spacing:-4px;font-weight:850;color:#8cc9ff;line-height:1.2;margin-bottom:10px}.intro-note strong{display:block;margin-bottom:8px}.intro-note p{font-size:14px!important}.scope-banner{display:flex;gap:16px;align-items:center;padding:19px 4px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.scope-banner b{color:var(--navy);white-space:nowrap}.scope-banner a{margin-left:auto;white-space:nowrap;font-weight:650}.page{padding:32px 0 12px;scroll-margin-top:16px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.section-heading .eyebrow{margin-bottom:6px}h2{font-size:28px;letter-spacing:-1px;line-height:1.2;margin:0 0 8px}h3{font-size:20px;letter-spacing:-.4px;line-height:1.3;margin:0 0 15px}p{margin:0 0 16px}.section-heading p:not(.eyebrow){color:var(--muted);margin-bottom:0}.calculator-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:24px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:26px}.panel label{display:block;font-size:14px;font-weight:650;margin:0 0 7px}input,select{width:100%;min-width:0;border:1px solid #bccbdd;border-radius:6px;background:white;padding:10px 11px;color:var(--navy);min-height:46px}select{padding-right:20px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #58abff;outline-offset:3px}.hint{color:var(--muted);font-size:13px;margin:9px 0 20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.period-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 0}.period-heading h3{margin:0}.period-heading span{font-size:12px;color:var(--muted)}.period{display:grid;grid-template-columns:minmax(0,1fr) 105px 35px;gap:8px;align-items:center;margin-bottom:10px}.period button{border:0;background:transparent;color:var(--muted);font-size:24px;min-height:44px}.primary,.secondary{padding:11px 16px;border-radius:7px;font-weight:650;font-size:14px;min-height:44px}.primary{display:flex;justify-content:space-between;width:100%;border:1px solid var(--blue);background:var(--blue);color:white;margin-top:22px}.primary:hover{background:#0057a6}.secondary{background:white;border:1px solid #bfd1e5;color:var(--blue)}.secondary:hover{background:#edf5ff}.add{width:100%;border-style:dashed;margin-top:5px}.results-column{display:grid;gap:18px}.result-panel>p{color:var(--muted)}.empty-times{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin:23px 0}.empty-times span{font-size:13px;color:var(--muted)}.empty-times strong{display:block;font-size:30px;color:var(--navy)}.advert{background:#e5effa;padding:24px 26px;border-radius:12px;border-left:4px solid var(--blue)}.advert small{font-size:11px;letter-spacing:1.7px;font-weight:700;color:#356599}.advert h3{font-size:25px;margin:10px 0;letter-spacing:-.8px}.advert p{font-size:14px;color:var(--muted)}.advert a{font-size:14px;font-weight:700;text-decoration:none}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.metric{background:var(--paper);border-radius:7px;padding:14px}.metric small{color:var(--muted);display:block;font-size:12px}.metric strong{font-size:24px;font-weight:750;letter-spacing:-.7px}.check{border-left:3px solid;padding:12px 14px;margin:12px 0;background:var(--paper);border-radius:0 5px 5px 0}.check h4{font-size:14px;margin:0 0 5px}.check p{font-size:13px;color:var(--muted);margin:0 0 5px}.check a{font-size:12px}.green{border-color:#159567;background:#f0f9f5}.amber{border-color:#c18c07;background:#fffaeb}.red{border-color:#cc4252;background:#fff3f4}.result-label{display:inline-block;padding:5px 9px;border-radius:4px;font-size:12px;font-weight:700}.result-label.amber{color:#775405}.result-label.red{color:#a12f3d}.result-label.green{color:#086643}.error{background:#fff0f1;color:#922434;font-size:14px;margin:16px 0 0;padding:12px;border-radius:6px}.green-text{color:var(--green)}.gold-text{color:var(--gold)}.rest-button{background:var(--green);border-color:var(--green)}#restForm>input{margin-bottom:20px}.rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px}.rule-number{font-size:30px;font-weight:750;color:var(--blue);margin-bottom:14px}.rule-card p{font-size:14px;color:var(--muted)}.rule-card a{font-size:13px}.rule-card h3{font-size:18px}.prose{max-width:800px;margin-top:24px}.prose h3{margin-top:26px}.contact-links{display:flex;flex-wrap:wrap;gap:18px}footer{border-top:1px solid var(--line);margin-top:40px;padding:24px 0 30px;display:flex;align-items:center;flex-wrap:wrap;gap:22px;color:var(--muted)}footer .brand{font-size:18px}footer>div{display:flex;gap:20px;margin-left:auto}footer a:not(.brand){font-size:13px}footer>small{width:100%;font-size:12px}[hidden]{display:none!important}.big-rest{font-size:46px;font-weight:750;letter-spacing:-2px;margin:14px 0}.timeline{display:flex;height:10px;gap:2px;border-radius:5px;overflow:hidden;margin-top:18px}.timeline span{min-width:2px}.timeline .driving{background:var(--blue)}.timeline .break{background:#159567}.timeline .other{background:#9aacbe}
@media(max-width:960px){header{gap:16px;flex-wrap:wrap}header>.beta{display:none}.rules-grid{grid-template-columns:1fr 1fr}.two{grid-template-columns:1fr}.intro{padding:30px}.intro-note{width:235px}.scope-banner{align-items:flex-start;flex-wrap:wrap;gap:7px 14px}.scope-banner span{flex:1}.scope-banner a{margin:0}.calculator-grid{gap:16px}.panel{padding:22px}}
@media(max-width:650px){header{padding:16px 20px;gap:12px}.brand{font-size:20px}header nav{width:100%;margin:0;justify-content:space-between;gap:8px}main{padding:0 16px}.intro{margin-top:16px;padding:26px}.intro-note{display:none}.intro:after{display:none}h1{font-size:40px}.intro p:last-child{font-size:15px}.desktop{display:none}.scope-banner{padding:16px 0}.scope-banner span{flex-basis:100%}.calculator-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start;gap:10px}h2{font-size:25px}.section-heading .secondary{max-width:115px;font-size:13px;padding:8px 10px}.panel{padding:20px}.period{grid-template-columns:minmax(0,1fr) 82px 28px;gap:5px}.period select{font-size:14px}.rules-grid{grid-template-columns:1fr}footer{gap:18px}footer>div{margin:0;flex-wrap:wrap}.page{padding-top:26px}.two{grid-template-columns:1fr}}

.period{grid-template-columns:1fr 1fr 32px;align-items:end}.period label{margin:0}.period button{margin-bottom:2px}#gaps label{margin-bottom:14px}#gaps select{margin-top:6px}
/* PJCore Labs: black, silver and turquoise from the brand symbol. */
:root{--navy:#edf5f5;--blue:#12d9d5;--muted:#aebfc2;--line:#304247;--paper:#111a1d;--green:#64dbad;--gold:#efca70;color-scheme:dark}
body{background:#080d0f}header{background:#080d0f}.brand small{color:var(--muted)}.beta{background:#143335;color:#80f2ed}.intro{background:linear-gradient(120deg,#10191c,#153538);border:1px solid #315459}.intro .eyebrow,.intro h1 span,.route-mark{color:#51ede6}.intro p:last-child,.intro-note p{color:#c1d0d2}.eyebrow span{color:#b5c6c8}.panel{background:#131d20;border-color:#304247}input,select{background:#0b1417;border-color:#53696e;color:#edf5f5}.primary{background:#15d1ca;border-color:#15d1ca;color:#052322}.primary:hover{background:#70eee7}.secondary{background:#15282c;border-color:#47686d;color:#7dece6}.secondary:hover{background:#203c41}.advert{background:#143033;border-color:#15d1ca}.advert small{color:#83e7e1}.advert h3{color:#f0f6f6}.advert a{color:#72eee6}.metric{background:#0b1518}.metric strong,.empty-times strong{color:#eef5f5}.rule-number{color:#59e5de}.rest-button{background:#68d8af;border-color:#68d8af;color:#092a20}.rest-button:hover{background:#94e7c6}.green{background:#122e25;border-color:#63d6a9}.amber{background:#332c18;border-color:#e3bb5f}.red{background:#361e24;border-color:#ff8897}.result-label.green{color:#9eeac8}.result-label.amber{color:#f4d58d}.result-label.red{color:#ffb4bf}.error{background:#391d25;color:#ffbac5}.timeline .driving{background:#12d9d5}.timeline .break{background:#70daa7}.timeline .other{background:#a9b9bd}.green-text{color:#81dfb6}.gold-text{color:#efca70}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline-color:#49e8df}
