@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#0b111b;--bg2:#111a28;--surface:#141e2e;--surface2:#1a2638;--surface3:#253248;--line:#2a394d;--text:#f4f7fa;--muted:#90a0b5;--lime:#a2f15a;--lime2:#d1ff92;--yellow:#ffcd53;--red:#f27576;--cyan:#66cbe9;--radius:16px;--shadow:0 18px 60px #0004;--font:'Noto Sans JP',sans-serif;--display:'Barlow Condensed','Noto Sans JP',sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);scroll-behavior:smooth}button,select,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}a{color:var(--lime)}a:hover{text-decoration:none}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:12px;color:var(--muted)}.loading strong{font-family:var(--display);font-size:30px;letter-spacing:1px;color:white}.loading-spinner{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--lime);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:#0c1420;border-right:1px solid var(--line);padding:27px 16px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 12px}.brand-mark{border:2px solid var(--lime);color:var(--lime);border-radius:12px;width:42px;height:42px;display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:24px;transform:skew(-6deg)}.brand h1{font:900 23px/1 var(--display);margin:0;letter-spacing:.3px}.brand small{font-size:9px;letter-spacing:2.1px;color:var(--lime);font-weight:800}.side-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#647890;font-weight:800;padding-left:14px;margin-bottom:8px}.navlist{display:flex;flex-direction:column;gap:5px}.navbtn{display:flex;align-items:center;gap:13px;background:transparent;border:0;border-radius:10px;color:#a9b8c9;padding:12px 14px;width:100%;text-align:left;font-weight:700;font-size:13px;transition:.15s}.navbtn .navico{width:20px;font-size:18px;text-align:center}.navbtn:hover{color:white;background:#1b2a3e}.navbtn.active{background:#21333a;color:var(--lime);box-shadow:inset 3px 0 var(--lime)}.side-foot{margin-top:auto;display:grid;gap:14px}.teamstamp{background:var(--surface);border:1px solid var(--line);padding:14px;border-radius:14px}.teamstamp small,.teamstamp span{display:block;color:var(--muted);font-size:10px}.teamstamp strong{display:block;font-weight:900;font-size:14px;margin:6px 0}.teamstamp span{font-size:11px}.sidebar-build{padding-left:10px;color:#52657a;font:700 11px var(--display);letter-spacing:2px}
.main{min-width:0;max-width:1580px;width:100%;margin:0 auto;padding:29px 36px 70px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{color:var(--lime);text-transform:uppercase;letter-spacing:2.8px;font:700 12px var(--display)}.pagetitle{font-size:28px;font-weight:900;margin:3px 0 0;letter-spacing:-.5px}.top-stats{display:flex;gap:13px;flex-wrap:wrap;justify-content:flex-end}.top-pill{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--surface);padding:9px 14px;border-radius:99px;font-size:11px;color:#a3b4c8}.top-pill b{color:white;font:700 18px var(--display)}.top-pill .spark{color:var(--lime)}
.hero{position:relative;overflow:hidden;min-height:310px;border:1px solid #374352;border-radius:20px;background:radial-gradient(ellipse at 79% 58%,#34485a 0%,transparent 39%),linear-gradient(115deg,#263047 0%,#171f31 57%,#1e2f3d 100%);padding:36px 39px;display:flex;align-items:center;justify-content:space-between;gap:18px}.hero:before{content:'';position:absolute;right:-80px;top:-40px;width:560px;height:370px;border-radius:50%;border:48px solid #a2f15a0c;transform:rotate(-25deg)}.hero:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(120deg,#fff0 0px,#fff0 54px,#ffffff04 55px,#ffffff04 56px);pointer-events:none}.hero-copy{z-index:1;max-width:590px}.hero-tag{display:inline-flex;align-items:center;gap:7px;border:1px solid #a2f15a65;background:#a2f15a17;color:var(--lime);font-size:10px;letter-spacing:1.1px;font-weight:900;padding:7px 12px;border-radius:30px}.hero h2{font-size:clamp(29px,3.2vw,50px);line-height:1.25;margin:18px 0 12px;letter-spacing:-2px;font-weight:900}.hero p{color:#c5d0de;font-size:13px;line-height:1.9;max-width:480px}.btnrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.btn{border:1px solid transparent;border-radius:10px;padding:12px 19px;font-size:12px;font-weight:900;transition:transform .12s,background .12s;text-align:center;display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:42px}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn-primary{background:var(--lime);color:#14221b}.btn-primary:hover{background:#bbff85}.btn-secondary{background:#ffffff12;border-color:#ffffff24;color:#f3f7fa}.btn-secondary:hover{background:#ffffff25}.btn-danger{background:#40232e;border-color:#6b3740;color:#ff9da0}.btn-outline{background:transparent;border-color:var(--line);color:#e5ecf3}.btn-small{padding:8px 12px;min-height:34px;font-size:11px}.btn-active{background:#a2f15a24;border-color:var(--lime);color:var(--lime)}.hero-graphic{width:330px;min-width:270px;height:265px;z-index:1;position:relative;display:grid;place-items:center}.hero-runner{position:absolute;font-size:128px;filter:drop-shadow(0 16px 20px #0006);transform:rotate(-7deg);animation:bob 2.5s ease-in-out infinite;z-index:2}.hero-number{position:absolute;font:900 190px/.8 var(--display);color:#a2f15a11;letter-spacing:-5px;right:4px;top:20px}.hero-track{position:absolute;bottom:29px;right:0;width:310px;height:105px;border:4px solid #a2f15a33;border-radius:50%;transform:rotate(-14deg)}@keyframes bob{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-8px) rotate(-5deg)}}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:30px 0 15px}.section-title h3{font-size:16px;font-weight:900;margin:0}.section-title .sub{font-size:11px;color:var(--muted)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboard-split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.9fr);gap:17px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 2px 15px #0001;min-width:0}.panel h3,.panel h4{margin:0 0 12px;font-size:15px;font-weight:900}.panel p{line-height:1.8}.muted{color:var(--muted)}.small{font-size:11px}.tiny{font-size:10px}.bigstat{font:900 36px var(--display);letter-spacing:.3px}.statcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}.statcard .bigstat{margin:9px 0 2px}.statcard .meta{font-size:11px;color:var(--muted)}.up{color:var(--lime)}.warn{color:var(--yellow)}.danger{color:var(--red)}.accent{color:var(--lime)}.event-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.eventcard{background:#182638;border:1px solid var(--line);border-radius:15px;overflow:hidden;display:flex;flex-direction:column}.eventcard-top{height:90px;display:flex;align-items:center;justify-content:space-between;padding:17px 18px;background:linear-gradient(135deg,#2c3e53,#132132);position:relative;overflow:hidden}.eventcard-top::after{content:'EKIDEN';position:absolute;font:900 83px var(--display);color:#ffffff07;right:-3px;top:6px}.eventcard .event-symbol{font-size:45px;z-index:1}.event-badge{z-index:1;font:800 12px var(--display);letter-spacing:1.7px;color:#e9f5fa}.eventcard-body{padding:18px;flex:1}.eventcard-body strong{font-size:15px}.eventcard-body p{font-size:11px;color:var(--muted);margin:7px 0 12px}.eventcard-info{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:5px;font-size:10px;border-radius:6px;background:#ffffff09;border:1px solid #ffffff12;color:#bfd0e0;padding:5px 8px}.eventcard-footer{padding:0 18px 18px}.eventcard-footer .btn{width:100%}.list-simple{display:grid;gap:9px}.list-simple .listrow{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #29374a;font-size:12px}.list-simple .listrow:last-child{border:0}.progress{height:7px;border-radius:9px;background:#263449;overflow:hidden}.progress>i{display:block;height:100%;border-radius:9px;background:var(--lime)}
.squad-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:17px}.roster-header,.roster-row{display:grid;grid-template-columns:minmax(150px,1.2fr) 58px repeat(5,minmax(42px,.55fr)) 68px;align-items:center;gap:10px;padding:12px 15px;min-width:680px}.roster-header{font-size:10px;color:var(--muted);font-weight:800;background:#101b2a;border-radius:8px}.roster-row{font-size:12px;border-bottom:1px solid #243044}.roster-row:last-child{border:0}.roster-row:hover{background:#ffffff04}.roster-row strong{font-size:12px}.athlete-name{display:flex;gap:9px;align-items:center}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(140deg,#284058,#3e586a);display:grid;place-items:center;font-size:17px;flex:0 0 auto}.mini-bar{display:flex;align-items:center;gap:7px}.mini-bar span{font:800 13px var(--display);min-width:19px}.mini-bar .progress{height:5px;flex:1;min-width:21px}.roster-scroll,.standings-scroll{overflow:auto}.training-option{width:100%;background:#1c293a;border:1px solid var(--line);color:var(--text);border-radius:13px;text-align:left;padding:16px;display:flex;align-items:center;gap:13px;transition:.15s}.training-option:hover:not(:disabled){background:#24364a;border-color:var(--lime)}.training-icon{font-size:26px}.training-desc{display:grid;gap:3px}.training-desc strong{font-size:13px}.training-desc small{color:var(--muted);font-size:11px}.training-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.info-box{border:1px solid #35504b;border-radius:12px;background:#a2f15a0b;padding:14px 16px;color:#c9e4ce;font-size:11px;line-height:1.9}.select{background:#101a29;border:1px solid #3b4b60;border-radius:9px;color:#eaf0f5;padding:10px 12px;width:100%;font-size:12px}.input-label{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:7px}.stack{display:grid;gap:12px}.hr{height:1px;background:var(--line);margin:15px 0}.tag{background:#2a3846;color:#c0d2e5;border-radius:99px;padding:4px 9px;font-size:10px;font-weight:800}.tag.lime{background:#a2f15a1a;color:var(--lime)}.tag.red{background:#ff7b8b1c;color:#ffa4ac}
.schedule{display:grid;gap:12px}.week-row{display:flex;align-items:center;gap:15px;padding:15px 18px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.weeknum{font:900 25px var(--display);color:var(--lime);min-width:53px}.week-row .week-main{flex:1}.week-row .week-main strong{font-size:12px}.week-row .week-main small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.week-row.past{opacity:.55}.week-row.current{border-color:var(--lime);background:#1b3030}.week-row.special{background:linear-gradient(90deg,#233128,#152337)}.timeline-dots{display:grid;grid-template-columns:repeat(17,1fr);gap:4px;margin:21px 0 27px}.timeline-dot{height:7px;border-radius:9px;background:#26354a}.timeline-dot.complete{background:#4f9771}.timeline-dot.current{background:var(--lime)}.timeline-dot.meet{height:12px;transform:translateY(-2px);background:#dca955}
.lineup-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.65fr);gap:17px}.lineup-row{display:grid;grid-template-columns:45px 1fr minmax(160px,1.2fr);gap:12px;align-items:center;border-bottom:1px solid #283649;padding:12px 0}.lineup-row:last-child{border:0}.legnum{font:900 28px var(--display);color:var(--lime)}.legmeta strong{display:block;font-size:11px}.legmeta small{display:block;color:var(--muted);font-size:10px;margin-top:3px;line-height:1.6}.lineup-selected{color:var(--lime);font-size:10px;margin-top:3px}.course-row{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid #2c394c}.course-row:last-child{border:0}.course-no{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#293b48;font:900 17px var(--display);color:var(--lime)}.course-row strong{font-size:11px}.course-row small{color:var(--muted);font-size:10px;display:block;margin-top:3px}.course-row.current{background:#a2f15a0b;border-radius:8px;padding:10px 8px}.svg-course{width:100%;height:auto;max-height:190px}.stat-circle{width:48px;height:48px;border-radius:50%;border:3px solid #52724d;display:grid;place-items:center;font:900 18px var(--display);color:var(--lime)}
.race-head{background:#0e1928;border:1px solid #365063;border-radius:16px;padding:18px 23px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.live-badge{background:#ed5353;color:white;border-radius:5px;padding:5px 8px;font:900 12px var(--display);letter-spacing:2px;animation:blink 1.5s infinite}@keyframes blink{50%{opacity:.65}}.race-event-name{font-weight:900;font-size:17px}.race-meta{font-size:11px;color:var(--muted)}.race-clock{font:900 32px var(--display);letter-spacing:.5px}.race-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:16px}.broadcast{background:linear-gradient(180deg,#1a2a39,#0e1b2a);border:1px solid #3b5360;border-radius:15px;overflow:hidden;min-width:0}.broadcast-scene{min-height:310px;background:radial-gradient(circle at 50% 48%,#304752 0%,#1d3341 46%,#0e1d29 100%);position:relative;overflow:hidden;padding:23px}.broadcast-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 94%,#ffffff05 100%);background-size:100% 6px;pointer-events:none}.tv-label{display:inline-block;background:#06121db3;padding:7px 11px;border-radius:5px;font:800 11px var(--display);letter-spacing:1.2px}.field-lanes{display:grid;gap:12px;margin:18px 0 8px}.lane{display:grid;grid-template-columns:114px minmax(0,1fr) 54px;gap:10px;align-items:center;color:white}.lane-name{font-size:10px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lane-time{font:700 15px var(--display);color:#cddbe5}.lane-road{height:25px;background:linear-gradient(180deg,#42535b,#2a3e48);border-radius:5px;position:relative;border-block:1px dashed #61747c}.lane-road:before{content:'';position:absolute;top:11px;left:0;right:0;height:1px;background:repeating-linear-gradient(90deg,#c3cdcf7a 0 14px,transparent 14px 30px)}.lane-dot{position:absolute;top:0;left:var(--x,20%);height:23px;width:24px;background:var(--runner,#bbff63);color:#092019;font-size:13px;font-weight:900;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 15px #9bff6599;transform:translateX(-50%);transition:left .25s}.lane:not(.mine) .lane-dot{box-shadow:0 0 7px #fff3}.lane.mine .lane-name{color:var(--lime);font-weight:900}.scene-title{font:900 64px/.9 var(--display);color:#ffffff14;position:absolute;bottom:5px;left:18px}.race-camera-large{display:grid;place-items:center;min-height:215px;text-align:center}.camera-athlete{font-size:76px;animation:bob 1s infinite}.camera-name{font-size:18px;font-weight:900}.camera-caption{font-size:12px;color:#b5c5d3}.broadcast-lower{background:#0a101be8;padding:15px 19px;border-top:3px solid var(--lime);display:flex;justify-content:space-between;gap:16px}.broadcast-lower strong{font-size:13px}.broadcast-lower small{color:var(--muted);font-size:11px}.broadcast-comment{padding:15px 19px 16px;min-height:77px;background:#172538;border-top:1px solid #3b4c60;font-size:13px;line-height:1.8}.broadcast-comment strong{color:var(--lime)}.broadcast-tabs{display:flex;gap:6px;padding:12px 16px;background:#111d2b;border-top:1px solid var(--line)}.broadcast-tabs button{border:1px solid var(--line);background:#243344;color:#cbd8e6;padding:7px 11px;border-radius:7px;font-size:11px;font-weight:800}.broadcast-tabs button.active{background:#a2f15a19;color:var(--lime);border-color:#89dd6a}.race-side{display:grid;gap:15px;align-content:start}.ranking-table{width:100%;border-collapse:collapse;font-size:11px}.ranking-table th{text-align:left;font-weight:700;color:var(--muted);padding:8px 7px;border-bottom:1px solid var(--line)}.ranking-table td{padding:10px 7px;border-bottom:1px solid #2c394a}.ranking-table td:first-child{font:900 16px var(--display);width:26px}.ranking-table tr.mine{background:#a2f15a12;color:var(--lime)}.ranking-table tr:last-child td{border-bottom:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel-heading h3{margin:0}.tactic-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.tactic{background:#202e40;color:#c6d3df;border:1px solid #3b4b60;border-radius:10px;padding:11px 6px;font-size:12px;font-weight:900}.tactic small{display:block;font-weight:500;font-size:9px;margin-top:3px;color:var(--muted)}.tactic.selected{background:#a2f15a1a;border-color:var(--lime);color:var(--lime)}.race-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.race-controls .btn{width:100%}.speed-select{display:flex;gap:8px;align-items:center}.speed-select button{background:#243547;border:1px solid var(--line);color:#d8e5ef;border-radius:7px;font:800 12px var(--display);padding:6px 11px}.speed-select button.active{color:#12201a;background:var(--lime)}.event-feed{display:grid;gap:9px;max-height:245px;overflow:auto}.feed-item{font-size:11px;line-height:1.65;border-left:2px solid #506274;padding:7px 10px;background:#ffffff04}.feed-item.highlight{border-color:var(--lime)}.feed-item small{color:#99b4c4;display:block;font:700 11px var(--display);margin-bottom:2px}.relay-alert{margin-bottom:16px;border:1px solid #8caf58;background:linear-gradient(90deg,#2a4338,#132b32);border-radius:14px;padding:23px;display:flex;justify-content:space-between;align-items:center;gap:16px}.relay-alert h3{font-size:19px;margin:5px 0}.relay-alert p{font-size:12px;line-height:1.75;color:#c5dec8;margin:0}.race-progress{height:8px;background:#25374b;border-radius:99px;overflow:hidden;margin:12px 0 3px}.race-progress i{height:100%;display:block;background:linear-gradient(90deg,#679a73,var(--lime));border-radius:99px;transition:width .3s}
.result-banner{padding:35px;background:linear-gradient(115deg,#334535,#102027);border:1px solid #547450;border-radius:17px;position:relative;overflow:hidden}.result-banner:after{content:'FINISH';position:absolute;right:-2%;top:20px;font:900 160px/.9 var(--display);color:#ffffff0b;pointer-events:none}.result-banner>div{position:relative;z-index:1}.result-rank{font:900 89px/.95 var(--display);color:var(--lime)}.result-banner h2{font-size:22px}.result-summary{display:flex;gap:23px;flex-wrap:wrap}.result-summary .bigstat{font-size:29px}.result-list{display:grid;gap:7px}.result-row{display:grid;grid-template-columns:46px minmax(130px,1fr) 110px 92px;align-items:center;gap:15px;background:#182638;border:1px solid var(--line);border-radius:10px;padding:11px 16px;font-size:12px}.result-row.mine{border-color:var(--lime);background:#21372f}.result-row .place{font:900 30px var(--display);color:var(--lime)}.result-row small{display:block;color:var(--muted);margin-top:3px}.result-row b{font:800 22px var(--display)}.two-col-list{columns:2;column-gap:10px}.meter{height:8px;max-width:240px;background:#314357;border-radius:9px;overflow:hidden}.meter i{display:block;height:100%;background:var(--lime)}
.start-screen{min-height:100vh;background:radial-gradient(circle at 70% 30%,#223d43,#0b111b 60%);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(310px,.78fr);gap:8vw;align-items:center;padding:6vw max(4vw,25px)}.start-logo{display:flex;align-items:center;gap:12px;color:var(--lime);letter-spacing:3px;font:900 14px var(--display)}.start-logo .brand-mark{width:53px;height:53px;font-size:29px}.start-left h1{font:900 clamp(61px,8vw,140px)/.85 var(--display);letter-spacing:-1px;margin:40px 0 24px}.start-left h1 em{font-style:normal;color:var(--lime)}.start-left p{color:#bbcad9;font-size:14px;line-height:2;max-width:540px}.start-footer{margin-top:35px;display:flex;gap:11px;flex-wrap:wrap}.start-highlight{border:1px solid #415953;background:#24373344;padding:23px;border-radius:14px}.start-highlight span{font:900 38px var(--display);color:var(--lime)}.start-highlight small{color:#b8d2c7;font-size:10px;margin-left:8px}.start-panel{border:1px solid #3a4e5c;background:#162335ee;border-radius:18px;padding:31px;box-shadow:var(--shadow)}.start-panel h2{font-size:23px;margin:8px 0 9px}.start-panel p{font-size:12px;color:var(--muted);line-height:1.8}.start-panel .btn{width:100%;margin-top:13px}.start-panel .select{font-size:14px;padding:13px}.intro-graphic{font-size:64px;text-align:center;margin:24px 0}.help-intro{font-size:13px;line-height:2;color:#bfcedd}.howto{display:grid;gap:14px}.step{display:flex;gap:17px}.step .num{width:38px;height:38px;flex:0 0 auto;background:#293b38;border:1px solid #436849;border-radius:11px;color:var(--lime);display:grid;place-items:center;font:900 23px var(--display)}.step strong{font-size:13px}.step p{font-size:11px;color:var(--muted);line-height:1.8;margin:5px 0 0}.notice{background:#40342155;border:1px solid #75613b;color:#eacb92;border-radius:9px;padding:12px 15px;font-size:11px;line-height:1.8}.clear-button{border:0;color:#91a0b3;text-decoration:underline;background:none;font-size:11px;padding:4px}.linkrow{display:flex;justify-content:space-between;align-items:center;gap:15px}.mobile-menu{display:none}.toast{position:fixed;right:24px;bottom:24px;z-index:100;background:#283c37;border:1px solid #68936b;color:#d8f2dd;border-radius:12px;padding:14px 18px;font-size:12px;box-shadow:var(--shadow);max-width:min(440px,90vw);animation:toastIn .2s ease}@keyframes toastIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1180px){.shell{grid-template-columns:210px minmax(0,1fr)}.main{padding:25px 24px 55px}.eventcard .event-symbol{font-size:34px}.race-layout{grid-template-columns:minmax(0,1.25fr) minmax(250px,.85fr)}.hero-graphic{min-width:200px;width:240px}.hero-runner{font-size:105px}}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:12px 14px;display:block}.sidebar .brand{display:none}.sidebar .navlist{display:flex;flex-direction:row;overflow-x:auto;gap:4px}.sidebar .side-label,.sidebar .side-foot{display:none}.navbtn{white-space:nowrap;width:auto;padding:9px 13px;font-size:11px}.navbtn .navico{font-size:14px}.main{padding:20px 18px 55px}.dashboard-split,.squad-layout,.lineup-layout{grid-template-columns:1fr}.hero{min-height:245px}.hero-graphic{width:190px;min-width:160px;height:200px}.hero-runner{font-size:90px}.hero-track{width:190px}.event-cards{gap:10px}.race-layout{grid-template-columns:1fr}.race-side{grid-template-columns:repeat(2,minmax(0,1fr))}.race-side .panel:first-child{grid-row:span 2}.start-screen{grid-template-columns:1fr;gap:28px;padding:35px 6vw}.start-left h1{font-size:80px;margin:20px 0}.start-panel{max-width:700px}}
@media(max-width:650px){.main{padding:17px 12px 65px}.topbar{align-items:flex-start;flex-direction:column;gap:11px;margin-bottom:18px}.pagetitle{font-size:23px}.top-stats{width:100%;justify-content:flex-start;gap:6px}.top-pill{padding:7px 10px;font-size:10px}.top-pill b{font-size:15px}.hero{min-height:250px;padding:25px 22px}.hero h2{font-size:29px;letter-spacing:-.8px}.hero p{font-size:11px}.hero-graphic{position:absolute;right:-40px;top:18px;opacity:.22}.grid-3{grid-template-columns:1fr 1fr;gap:10px}.grid-2,.event-cards,.training-group{grid-template-columns:1fr}.eventcard{display:grid;grid-template-columns:108px 1fr;min-height:120px}.eventcard-top{height:auto;flex-direction:column;justify-content:center}.eventcard .event-symbol{font-size:34px}.eventcard-body{padding:13px 12px 3px}.eventcard-footer{grid-column:2;padding:2px 12px 12px}.eventcard-footer .btn{min-height:33px;padding:7px}.section-title{margin-top:23px}.statcard{padding:14px}.statcard .bigstat{font-size:28px}.panel{padding:15px}.lineup-row{grid-template-columns:30px 1fr;gap:7px}.lineup-row .select{grid-column:1/-1}.legnum{font-size:25px}.race-head{padding:12px}.race-clock{font-size:24px}.race-side{grid-template-columns:1fr}.broadcast-scene{padding:14px;min-height:280px}.lane{grid-template-columns:78px minmax(0,1fr) 39px;gap:6px}.lane-name{font-size:9px}.lane-time{font-size:12px}.field-lanes{gap:10px}.race-controls{gap:6px}.race-controls .btn{font-size:10px;padding:9px 6px}.relay-alert{flex-direction:column;align-items:flex-start}.result-row{grid-template-columns:35px minmax(90px,1fr) 76px;gap:6px;padding:10px}.result-row b{font-size:16px}.result-row .result-gap{display:none}.result-rank{font-size:67px}.start-left h1{font-size:66px}.start-panel{padding:23px}.btn{padding:11px 13px}.navbtn{padding:9px}.start-screen{padding:35px 17px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;scroll-behavior:auto!important;transition:none!important}}

@media(max-width:650px){.roster-header{display:none}.roster-scroll{overflow:visible}.roster-row{min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:15px 4px}.roster-row .athlete-name{grid-column:span 2}.roster-row .mini-bar{display:block}.roster-row .mini-bar::before{content:attr(data-label);display:block;font-size:9px;color:var(--muted);margin-bottom:4px}.roster-row .mini-bar .progress{margin-top:4px}.roster-row .mini-bar span{font-size:15px}.roster-row .mini-bar .progress{width:100%}.roster-row .mini-bar .progress i{display:block}}
