/* Crossroads uses the platform's Figtree, BASIS blue, coral and rounded cards. */
@font-face{font-family:Figtree;src:url('/vendor/figtree/figtree-latin.woff2') format('woff2');font-weight:300 900;font-style:normal;font-display:swap}
:root{font-family:Figtree,'PingFang SC',system-ui,sans-serif;--ink:#222d48;--muted:#64718d;--line:#d6dced;--accent:#3255a4;--surface:#fff;--soft:#eef1f7;background:#eef1f7;font-size:15px}
body{max-width:1320px;padding:26px 36px 24px}button,input,select,textarea{font:inherit}a{font-weight:700}h1,h2,h3{font-weight:800;letter-spacing:-.03em}h2{font-size:23px}h3{font-size:17px}button{border:2px solid #d6dced;border-radius:999px;padding:10px 19px;font-weight:750;background:#fff;transition:transform .15s,background .15s,box-shadow .15s}button:hover:not(:disabled){background:#e7edfb;border-color:#9caed4;transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ee6b4c;outline-offset:4px}
.page-header{margin-bottom:28px;align-items:center}.club-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#1f3358;font-size:18px;letter-spacing:.015em}.club-brand img{width:48px;height:48px;background:white;border-radius:50%;padding:8px}.club-brand small{display:block;font-size:11px;font-weight:500;letter-spacing:0;color:#64718d}.header-links{display:flex;align-items:center;gap:24px;font-size:13px}.header-links a{text-decoration:none}#connection{background:#fff;border:1px solid #d6dced;padding:8px 13px;border-radius:999px;font-weight:700}#connection.ready{color:#467b37;background:#f1f8e9;border-color:#d3e5c4}
.welcome-banner{position:relative;display:flex;justify-content:space-between;align-items:center;background:#3255a4;color:#fff;border-radius:32px;padding:34px 42px;margin-bottom:26px;overflow:hidden;min-height:285px;box-shadow:0 7px 0 #d9e0f0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:#d7e3ff}.welcome-banner h1{font-size:clamp(34px,4vw,52px);line-height:1.04;margin:13px 0 15px;color:#fff}.welcome-banner p{font-size:15px;line-height:1.6;color:#e0e8fa;margin:0 0 16px}.open-badge{display:inline-block;background:#fff2c9;color:#594719;font-size:12px;font-weight:750;padding:7px 12px;border-radius:999px}
.traffic-friend{position:relative;width:245px;height:245px;flex:none;margin-right:28px}.signal-face{position:absolute;left:75px;top:15px;width:92px;height:183px;border:5px solid #16294f;border-radius:29px;background:#203456;transform:rotate(9deg);box-shadow:7px 7px 0 #244789;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px}.lamp{width:43px;height:43px;border-radius:50%;display:block;box-shadow:inset 0 -4px 0 #0002;border:3px solid #16294f}.lamp.red{background:#ee806b}.lamp.amber{background:#ffd16c}.lamp.green{position:relative;background:#a5dd85}.lamp.green:before,.lamp.green:after{content:'';position:absolute;width:4px;height:6px;background:#233d35;border-radius:50%;top:10px}.lamp.green:before{left:9px}.lamp.green:after{right:9px}.lamp.green b{position:absolute;width:15px;height:8px;bottom:6px;left:11px;border-bottom:3px solid #233d35;border-radius:0 0 12px 12px}.signal-pole{position:absolute;left:111px;top:187px;width:16px;height:35px;background:#16294f;transform:rotate(9deg)}.signal-ground{position:absolute;bottom:16px;left:42px;width:164px;height:13px;border-radius:50%;background:#203f80}.friend-cloud{position:absolute;right:-32px;top:29px;background:#fff2c9;color:#263b60;transform:rotate(9deg);padding:10px 17px;border-radius:18px 18px 18px 3px;font-size:17px;font-weight:800;z-index:3}.spark{position:absolute;color:#ffd16c;font-size:38px}.spark-one{left:22px;top:60px;transform:rotate(-12deg)}.spark-two{right:9px;bottom:37px;font-size:28px}
nav{gap:9px;border:0;background:#e2e7f2;padding:7px;border-radius:999px;margin:0 0 24px;overflow-x:auto}nav button{border-radius:999px;white-space:nowrap;flex:1;border:0;padding:11px 16px;color:#64718d;font-size:13px}nav button[aria-selected=true]{background:#3255a4;color:white;box-shadow:0 3px 0 #264587}nav button:hover:not(:disabled){transform:none;background:#d0dcf4;color:#254580}nav button[aria-selected=true]:hover{background:#3255a4;color:#fff}
.workspace-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:28px;align-items:start}.submission-pane,.results-pane,.leaderboards{background:#fff;border:1px solid #dce2ee;border-radius:28px;padding:26px;box-shadow:0 5px 0 #e1e6f0}.results-pane{border-left:1px solid #dce2ee;min-width:0}.submission-heading{align-items:end;gap:15px;margin-bottom:20px}.submission-heading label{flex:1;font-size:13px;color:#414b64;font-weight:750}.optional{font-weight:500;color:#7b86a0;font-size:11px}input:not([type=checkbox]):not([type=range]),select{border:2px solid #dce2ee;border-radius:14px;padding:10px 12px;background:#f8f9fd;color:#263b60}.editor-heading{background:#213a65;color:#fff;padding:13px 17px;border-radius:18px 18px 0 0;border:0}.editor-heading small{color:#bfcee9}.editor{border:0;border-radius:0 0 18px 18px;background:#16294f;height:390px}.editor pre,.editor textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.65}.editor #gutter{background:#142444;color:#7890b9;border-right:1px solid #2b4164}.codearea,.codearea pre{background:#16294f}.editor textarea{color:transparent;caret-color:#fff}.editor #highlight{color:#dce7ff}.editor .kw{color:#fbc87a}.editor .str{color:#abe196}.editor .comment{color:#8ca3c9}.editor .num{color:#ffad91}.test-controls{margin-top:20px;gap:14px}.test-controls label{font-size:12px;font-weight:750}.run-actions{gap:10px;flex-wrap:wrap;margin-top:19px}#test{background:#ee6b4c;border-color:#ee6b4c;color:#fff;box-shadow:0 4px 0 #bf513a}#submit{background:#3255a4;border-color:#3255a4;color:white;box-shadow:0 4px 0 #244282}#test:hover:not(:disabled){background:#db5e40}#submit:hover:not(:disabled){background:#294993}#cancel{color:#b44035;background:#fff0ec}#run-status{font-size:11px;font-weight:800;background:#eef1f7;border-radius:999px;padding:6px 12px}.task{background:#f4f6fb;border:0;border-radius:12px;padding:10px 12px;margin-bottom:7px;font-size:12px}.task.ok{background:#eff8e9;color:#497338}.task.bad{background:#fff0eb;color:#a64232}.task.running{background:#fff4d5;color:#816629}progress{height:10px;border-radius:999px;overflow:hidden}#task-list{max-height:318px;overflow:auto;padding-right:5px}.leaderboards{margin-top:28px}.empty{background:#f4f6fb;border:2px dashed #dce2ee;border-radius:20px;padding:25px}table{border-radius:16px;overflow:hidden}th{background:#eaf0fa;color:#47608b}.history-item{background:#f6f8fc;border:1px solid #dce2ee;border-radius:18px;padding:18px}.pill{background:#e6edfb;color:#3255a4;border-radius:999px}#notice{background:#fff2cf;border:2px solid #ebd8a1;border-radius:17px;color:#674f21}
#statement,#generator,#visualizer,#history{background:#fff;border:1px solid #dce2ee;border-radius:28px;padding:30px;min-width:0}#statement{line-height:1.8}#statement table{display:block;max-width:100%;overflow-x:auto}#traffic-canvas,#rmse-chart{border:2px solid #dce2ee;border-radius:22px;background:#f8faff}#car-detail{border-radius:14px;background:#edf2fc}.practice-note{font-size:12px;line-height:1.7;color:#64718d}footer{border-top:1px solid #d6dced;margin-top:28px;padding:16px 6px}pre{border-radius:16px}#speed{width:auto;min-width:88px}
@media(max-width:1000px){.workspace-grid{grid-template-columns:1fr}.results-pane{border-left:1px solid #dce2ee}.traffic-friend{margin-right:0}.header-links{gap:12px}.submission-pane,.results-pane{padding:22px}}
@media(max-width:600px){body{padding:18px 14px}.page-header{align-items:start;gap:10px}.club-brand{font-size:14px;gap:8px}.club-brand img{width:37px;height:37px}.club-brand small{font-size:8px;max-width:170px}.header-links{flex-direction:column;align-items:end;gap:5px;font-size:11px}#connection{font-size:9px;padding:5px 8px}.welcome-banner{padding:27px 23px;min-height:270px;border-radius:25px}.welcome-banner h1{font-size:35px;max-width:235px}.welcome-banner p{font-size:12px;max-width:220px}.eyebrow{font-size:9px}.traffic-friend{position:absolute;right:-46px;top:30px;transform:scale(.58);transform-origin:right center;opacity:.9}.friend-cloud{display:none}.open-badge{font-size:10px}.welcome-banner>div:first-child{z-index:4}nav{border-radius:19px;gap:4px}nav button{font-size:11px;padding:10px 12px}.submission-pane,.results-pane,.leaderboards,#statement,#generator,#visualizer,#history{padding:18px;border-radius:22px}.submission-heading{align-items:stretch}.submission-heading label{min-width:100%;flex-basis:100%}#load-starter{align-self:start}.editor{height:340px}.run-actions button{font-size:12px;padding:10px 12px}.section-heading h2{font-size:20px}.toggle{font-size:10px}.history-actions{display:flex;flex-wrap:wrap;gap:6px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
