.tools-main{max-width:1200px;margin:32px auto;padding:0 20px 60px}.member-tools-nav{display:flex;gap:8px;margin:0 0 24px}.member-tools-nav a{padding:12px 22px;border:1px solid #7188a3;border-radius:7px;text-decoration:none;font-weight:800}.member-tools-nav a[aria-current],.member-tools-nav a:hover{background:#075bab;color:white}.tools-heading h1{font-size:clamp(38px,7vw,76px);font-style:italic;letter-spacing:-2px;margin:16px 0}.tools-heading h1 span{display:block;font-size:22px;letter-spacing:0;color:#7db0ff}.tools-heading p,.hint{color:#a6b4c9;line-height:1.6}.random-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;margin-top:30px}.random-panel{padding:26px;background:linear-gradient(145deg,#192738,#0c1420);border:1px solid #415773;border-radius:18px;min-width:0}.random-panel h2{font-size:16px;text-transform:uppercase;letter-spacing:1px;margin:0 0 24px}.random-panel label{display:grid;gap:8px;font-weight:700;margin-bottom:18px}.random-panel input,.random-panel textarea,.random-panel select{font:inherit;padding:12px;border:1px solid #647c98;border-radius:7px;background:#090f18;color:#fff;width:100%;min-width:0}.random-panel textarea{resize:vertical}.random-panel .check{display:flex;align-items:center;font-size:14px}.check input{width:18px;height:18px;flex-shrink:0}.hint{font-size:13px}.range-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}button{font:inherit;cursor:pointer}.launch-button{width:100%;padding:17px;background:linear-gradient(#277aff,#0649b0);color:white;font-weight:900;border:1px solid #7eafff;border-radius:8px;letter-spacing:1px}button:disabled{opacity:.5;cursor:default}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #80b7ff;outline-offset:3px}.race-top{display:flex;justify-content:space-between;gap:12px}.race-top span{font:11px monospace;color:#85b6ff}.race-scene{display:flex;height:220px;gap:20px;padding:20px 0}.christmas-tree{display:flex;flex-direction:column;align-items:center;gap:7px;width:64px;flex-shrink:0;background:#080c11;border-radius:18px;padding:10px}.christmas-tree small{font-size:7px}.christmas-tree i{width:22px;height:5px;background:#555;border-radius:8px}.christmas-tree b{width:23px;height:23px;background:#352b12;border-radius:50%;border:2px solid #67562e}.christmas-tree .green{background:#102d1b;border-color:#285333}.christmas-tree .lit{background:#ffbd23;box-shadow:0 0 17px #ffc42d}.christmas-tree .green.lit{background:#3af17b;box-shadow:0 0 23px #3af17b}.strip{position:relative;flex:1;background:#252a31;border-top:3px solid #b0b8c2;border-bottom:3px solid #b0b8c2;margin:20px 0 30px;min-width:0}.lane{height:50%;border-bottom:2px dashed #a9afb7;position:relative}.lane-two{border:0}.dragster{position:absolute;top:18px;left:2%;font-size:28px;color:#63a0ff;transition:left 1.15s cubic-bezier(.6,0,.8,.5);filter:drop-shadow(0 0 5px #2e78ff)}.dragster span{display:inline-block;width:35px;height:10px;background:#2e78ff;border-radius:8px 2px}.launch .dragster{left:calc(100% - 75px)}.finish-line{position:absolute;right:12px;top:0;bottom:0;width:14px;background:repeating-conic-gradient(#fff 0% 25%,#111 0% 50%) 0/14px 14px}.strip-start,.strip-finish{position:absolute;bottom:-25px;font:10px monospace}.strip-finish{right:0}.winner-board{padding:24px;background:#060b13;border:1px solid #3a5676;border-radius:10px}.winner-board ol{padding-left:25px;font-size:clamp(22px,3vw,35px);font-weight:900;overflow-wrap:anywhere}.winner-board li+li{margin-top:8px}.result-actions{display:flex;gap:12px}.result-actions button{padding:10px 16px;color:#fff;background:#203954;border:1px solid #57799c;border-radius:6px}.draw-history{max-height:240px;overflow:auto;padding-left:22px;color:#bfcfe3;overflow-wrap:anywhere}.draw-history li{padding:8px 0}#draw-status{min-height:24px;color:#9cc6ff}[hidden]{display:none!important}@media(max-width:760px){.random-grid{grid-template-columns:1fr}.random-panel{padding:20px}.tools-main{padding:0 14px 40px}}@media(prefers-reduced-motion:reduce){.dragster{transition:none}html{scroll-behavior:auto}}
.tools-page .random-panel{color:#edf4ff}.tools-page .random-panel h2,.tools-page .random-panel h3,.tools-page .random-panel label,.tools-page .winner-board{color:#edf4ff}.tools-page .tools-heading p{color:#52677f}.tools-page .tools-heading h1 span{color:#135caf}.tools-page .random-panel .eyebrow{color:#8dbaff;background:transparent;border:0;padding:0}.tools-page .random-panel .hint{color:#b5c6db}.tools-page .christmas-tree small{color:#c7d5e5}
/* Reuse the homepage's two-sided metal tree artwork at a readable scale. */
.tools-page .race-scene{height:auto;min-height:360px;align-items:center;gap:16px;padding:12px 0 24px}.tools-page .randomizer-tree{display:block;position:static;width:115px;height:330px;flex:0 0 115px;overflow:visible}.randomizer-tree .light-stage{--bulb-color:#fff6b5}.randomizer-tree .light-amber{--bulb-color:#ffbe19}.randomizer-tree .light-green{--bulb-color:#35fb81}.randomizer-tree .light-red{--bulb-color:#ff394e}.tools-page .randomizer-tree .tree-star{opacity:1;fill:#168cff;filter:drop-shadow(0 0 8px #168cff)}.race-field{flex:1;min-width:0}.race-field-title{font:10px monospace;letter-spacing:1px;color:#b5cae4;margin-bottom:20px}#race-runners{position:relative;min-height:110px;border-right:7px solid transparent;border-image:repeating-linear-gradient(#fff 0 7px,#111 7px 14px) 7;transition:height .3s}.race-runner{position:absolute;left:0;right:5px;height:46px;transition:transform .28s ease;will-change:transform}.runner-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c7d7eb;font-size:13px;font-weight:800;max-width:100%}.runner-rail{height:18px;background:linear-gradient(90deg,#18304b,#101c2b);border-bottom:1px dashed #71839a;position:relative;margin-top:3px;margin-right:8px}.runner-car{position:absolute;left:3%;top:-4px;color:#6eabff;transition:left .25s ease;font-size:23px;line-height:23px;filter:drop-shadow(0 0 3px #589aff)}.race-leader .runner-name{color:#ffe29b}.race-leader .runner-car{color:#ffe29b;filter:drop-shadow(0 0 4px #ffb719)}.race-distance{display:flex;justify-content:space-between;font:9px monospace;color:#9aadc5;margin-top:12px}.race-idle{font-size:14px;color:#a6bbd4;padding:20px 10px}.race-top span{text-align:right;line-height:1.5;max-width:150px}@media(max-width:480px){.tools-page .race-scene{gap:10px}.tools-page .randomizer-tree{width:82px;flex-basis:82px;height:300px}.runner-name{font-size:12px}.race-field-title{font-size:9px}}@media(prefers-reduced-motion:reduce){.race-runner,.runner-car,#race-runners{transition:none}}
/* Two crowded lanes, with a full thirty seconds of changing leaders. */
.tools-main{max-width:1540px}.random-grid{grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr)}.tools-page .race-scene{align-items:start;min-height:480px;gap:14px}.tools-page .randomizer-tree{width:90px;flex-basis:90px;height:290px;margin-top:60px}.race-field-title{display:flex;justify-content:space-between;align-items:center;gap:8px;line-height:1.6}.race-field-title strong{font-size:16px;color:#ffe29b;white-space:nowrap}#race-runners{height:380px;min-height:380px;overflow:hidden;border-left:2px solid #d9e2eb;border-right:10px solid transparent;background:linear-gradient(to bottom,#1d2938 0 49.5%,#e7edf3 49.5% 50%,#162333 50% 100%);border-image:repeating-linear-gradient(#fff 0 10px,#111 10px 20px) 10}.pack-racer{position:absolute;display:flex;align-items:center;gap:3px;max-width:145px;transition:left .48s ease-in-out,top .48s ease-in-out;will-change:left,top;transform:translateY(-50%);padding:2px 4px;border-radius:4px;background:#0a1728b8;color:#a4bad4;font-size:10px;line-height:1.1;white-space:nowrap}.pack-name{display:block;overflow:hidden;text-overflow:ellipsis;max-width:105px}.pack-car{color:#69a7ff;font-size:17px}.pack-racer.race-leader{font-size:17px;font-weight:900;color:#fff4c7;background:#163d6df2;box-shadow:0 0 10px #398aff66;border:1px solid #83b8ff;padding:5px 7px;max-width:170px}.race-leader .pack-name{max-width:125px}.race-leader .pack-car{color:#ffd36b;font-size:22px}.pack-racer.pack-winner{background:#195e3b;color:#fff;border-color:#70ffa5;left:76%!important}.top-five-heading{font-size:11px;letter-spacing:1px;color:#8cbcff;margin-top:16px}.live-top-five{display:flex;flex-wrap:wrap;gap:6px 14px;padding-left:22px;font-size:12px;color:#ffdf96;line-height:1.7}.race-field{min-width:0}.race-top span{max-width:220px}.race-idle{color:#c6d5e7;padding:24px 14px}.winner-board ol{font-size:clamp(22px,3vw,35px)}@media(max-width:900px){.random-grid{grid-template-columns:1fr}.tools-page .race-scene{min-height:470px}}@media(max-width:480px){.tools-page .race-scene{display:block}.tools-page .randomizer-tree{height:160px;width:80px;margin:0 auto 20px}.pack-racer{font-size:9px;max-width:95px}.pack-name{max-width:70px}.pack-racer.race-leader{font-size:14px;max-width:120px}.race-leader .pack-name{max-width:90px}#race-runners{height:340px;min-height:340px}.pack-racer.pack-winner{left:65%!important}}@media(prefers-reduced-motion:reduce){.pack-racer{transition:none;will-change:auto}}
/* Continuous forward driving; fixed lane positions and gradual size changes. */
.pack-racer,.pack-racer.pack-winner{left:0!important;will-change:transform;transition:font-size .65s ease,padding .65s ease,background-color .65s ease,color .65s ease,border-color .65s ease,box-shadow .65s ease}.pack-name{transition:max-width .65s ease}.pack-car{transition:font-size .65s ease,color .65s ease}.pack-racer.pack-winner{transition:transform .8s ease,font-size .65s ease,background-color .65s ease}#race-runners.is-driving{background-image:repeating-linear-gradient(90deg,transparent 0 54px,#abc5df0d 54px 57px),linear-gradient(to bottom,#1d2938 0 49.5%,#e7edf3 49.5% 50%,#162333 50% 100%);background-size:114px 100%,100% 100%;animation:track-driving 1.8s linear infinite}@keyframes track-driving{from{background-position:0 0,0 0}to{background-position:-114px 0,0 0}}@media(prefers-reduced-motion:reduce){#race-runners.is-driving{animation:none}.pack-racer,.pack-racer.pack-winner{transition:none}}
/* Keep moving racers on compositor layers; no layout-changing text animation. */
#race-runners{contain:layout paint;isolation:isolate}.pack-racer,.pack-racer.race-leader,.pack-racer.pack-winner{display:block;width:156px;max-width:156px;height:32px;padding:0;border:0;background:transparent;box-shadow:none;font-size:13px;line-height:1.1;transition:transform .8s ease;will-change:transform}.racer-visual{display:flex;align-items:center;gap:4px;width:145px;height:30px;padding:4px 6px;border-radius:4px;color:#b5c9e1;background:#102238e6;transform:scale(.72);transform-origin:left center;transition:transform .55s ease,color .4s ease,background-color .4s ease;will-change:transform;overflow:hidden}.pack-racer.race-leader .racer-visual{transform:scale(1.06);color:#fff1b5;background:#174778}.pack-racer.pack-winner .racer-visual{color:#fff;background:#195e3b}.pack-name,.race-leader .pack-name{max-width:116px;transition:none;font-size:13px;font-weight:800}.pack-car,.race-leader .pack-car{font-size:19px;transition:none}.pack-racer .pack-car{filter:none}.pack-racer.race-leader{color:inherit}#race-runners.is-driving{background-image:linear-gradient(to bottom,#1d2938 0 49.5%,#e7edf3 49.5% 50%,#162333 50% 100%);background-size:100% 100%;animation:none}#race-runners::before{content:'';position:absolute;inset:0 -114px 0 0;background:repeating-linear-gradient(90deg,transparent 0 54px,#abc5df0d 54px 57px);pointer-events:none;z-index:0}#race-runners.is-driving::before{animation:track-compositor 1.8s linear infinite;will-change:transform}@keyframes track-compositor{from{transform:translate3d(0,0,0)}to{transform:translate3d(-114px,0,0)}}#race-clock{display:inline-block;min-width:9ch;font-variant-numeric:tabular-nums;text-align:right}.live-top-five{min-height:44px}@media(max-width:480px){.pack-racer,.pack-racer.race-leader{width:116px;max-width:116px}.racer-visual{width:110px}.pack-name,.race-leader .pack-name{max-width:82px;font-size:12px}.pack-racer.race-leader .racer-visual{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.racer-visual{transition:none}#race-runners.is-driving::before{animation:none}.pack-racer,.pack-racer.pack-winner{transition:none}}
.pack-racer.is-prestaged .racer-visual{border-left:2px solid #ffe393}.pack-racer.is-staged .racer-visual{border-left-color:#7bf2b2}
/* Compact desktop dashboard: controls, race and winner share one viewport. */
.tools-info{position:relative;margin-top:8px;font-size:12px;color:#b7cce4}.tools-info summary{cursor:pointer;padding:8px 0}.tools-info-content{padding:12px;background:#101e30;border:1px solid #49627f;border-radius:8px}.tools-info-content h3{margin-top:0}
@media(min-width:900px) and (min-height:500px){
.tools-page .topbar .nav{min-height:48px;padding-block:5px}.tools-page .topbar .nav-links a{min-height:34px;padding:7px 16px;font-size:12px}.tools-page .tools-main{height:calc(100dvh - 64px);margin:6px auto 0;padding:0 14px 8px;max-width:1540px}.tools-page [data-tools-status]:empty{display:none}.tools-page [data-tools-content]{height:100%;display:grid;grid-template-columns:1fr auto;grid-template-rows:44px minmax(0,1fr);gap:8px 16px}.tools-page .member-tools-nav{grid-column:2;grid-row:1;margin:0;align-items:center;gap:6px}.tools-page .member-tools-nav a{padding:6px 14px;font-size:12px}.tools-page .tools-heading{grid-column:1;grid-row:1;display:flex;align-items:center;gap:14px;min-width:0}.tools-page .tools-heading .eyebrow{display:none}.tools-page .tools-heading h1{font-size:27px;letter-spacing:-1px;margin:0;white-space:nowrap}.tools-page .tools-heading h1 span{font-size:12px;letter-spacing:0;display:inline;margin-left:12px}.tools-page .tools-heading>p{display:none}.tools-page .random-grid{grid-column:1/-1;grid-row:2;grid-template-columns:minmax(260px,.6fr) minmax(0,1.4fr);margin:0;gap:12px;min-height:0}.tools-page .random-panel{padding:12px 16px;border-radius:12px;min-height:0}.tools-page .random-panel h2{font-size:12px;margin:0 0 10px}.tools-page #draw-form{margin:0}.tools-page #draw-form>label:not(.check){grid-template-columns:1fr minmax(55px,60%);align-items:center}.tools-page .random-panel label{font-size:12px;gap:5px;margin-bottom:7px}.tools-page .random-panel input,.tools-page .random-panel select{padding:6px 8px;min-height:30px;height:30px;font-size:12px}.tools-page .random-panel textarea{padding:8px;font-size:12px;min-height:54px;height:clamp(54px,13dvh,125px);resize:none}.tools-page .random-panel .check{font-size:11px;line-height:1.35;gap:7px;margin:7px 0}.tools-page .random-panel .check input{height:15px;min-height:15px;width:15px;padding:0}.tools-page #list-fields>.hint{font-size:10px;line-height:1.3;margin:4px 0 6px}.tools-page .launch-button{padding:10px;font-size:12px;min-height:36px}.tools-page #draw-status{font-size:11px;line-height:1.3;min-height:26px;margin:8px 0 0}.tools-page .range-row{gap:8px}.tools-page #range-fields .hint{font-size:10px;margin:6px 0}.tools-page .race-panel{display:flex;flex-direction:column;position:relative}.tools-page .race-top{flex:0 0 24px}.tools-page .race-top span{font-size:9px;max-width:none}.tools-page .race-scene{flex:1;min-height:0;height:auto;gap:10px;padding:0 0 4px;align-items:stretch}.tools-page .randomizer-tree{height:min(100%,230px);width:75px;flex-basis:75px;align-self:center;margin:0}.tools-page .race-field{display:flex;flex-direction:column;min-height:0}.tools-page .race-field-title{margin:0 0 6px;font-size:9px}.tools-page .race-field-title strong{font-size:12px}.tools-page #race-runners{flex:1;height:auto;min-height:130px}.tools-page .race-distance{margin-top:5px;font-size:8px}.tools-page .top-five-heading{margin-top:5px;font-size:9px}.tools-page .live-top-five{min-height:22px;max-height:35px;overflow:hidden;margin:3px 0 0;font-size:10px;gap:1px 14px;line-height:1.4}.tools-page .winner-board{padding:8px 12px;flex-shrink:0}.tools-page .winner-board .eyebrow{font-size:9px}.tools-page .winner-board ol{font-size:20px;line-height:1.2;margin:5px 0;padding-left:24px;max-height:58px;overflow:auto}.tools-page .winner-board li+li{margin-top:4px}.tools-page .result-actions{gap:8px;margin-top:7px;flex-shrink:0}.tools-page .result-actions button{padding:5px 10px;font-size:10px;min-height:28px}.tools-page .tools-info{position:absolute;right:16px;bottom:12px;margin:0;font-size:10px;max-width:48%;z-index:30}.tools-page .tools-info summary{padding:7px 0;text-align:right}.tools-page .tools-info-content{position:absolute;bottom:34px;right:0;width:min(460px,70vw);max-height:65dvh;overflow:auto;box-shadow:0 8px 35px #0009}.tools-page .pack-racer,.tools-page .pack-racer.race-leader{height:26px}.tools-page .racer-visual{height:26px;transform:scale(.65)}.tools-page .pack-racer.race-leader .racer-visual{transform:scale(.94)}
}
