@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
*{box-sizing:border-box}body{margin:0;background:#111114;color:#f3f0f0;font-family:'DM Sans',Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit;border:0}button:focus-visible,a:focus-visible{outline:3px solid #ed3449;outline-offset:4px}header{height:94px;max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 4%}header a{color:inherit;text-decoration:none;font-weight:800;font-size:25px;letter-spacing:-1px;display:flex;align-items:center;gap:12px}.brand-icon{background:#ed3449;color:#fff;padding:0 8px;font-size:30px}.brand-sub{font-size:10px;letter-spacing:2px;margin-left:12px;padding-left:22px;border-left:1px solid #38383e}.edition{font-size:10px;letter-spacing:2px}header button{background:transparent;font-size:18px}header button span{font-size:10px;margin-left:8px;letter-spacing:1px}main{max-width:1440px;margin:auto;padding:0 4%}.trackbar{display:flex;justify-content:space-between;border-top:1px solid #303036;padding:20px 0;font-size:10px;letter-spacing:1.5px}.trackbar i{display:inline-block;background:#ed3449;width:7px;height:7px;border-radius:50%;margin-right:7px}#stage{position:relative;overflow:hidden;background:#1b1b20;height:clamp(470px,65vh,760px);border-radius:3px}canvas{width:100%;height:100%;display:block}#panel{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:5%;background:linear-gradient(90deg,#131317f5, #131317a0 48%,transparent 70%)}#panel:empty{display:none}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:700;color:#ff5a6c}h1,h2{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-stretch:condensed;font-weight:800;font-size:clamp(55px,6.8vw,104px);line-height:.9;letter-spacing:-2px;margin:20px 0}h1 em{color:#ed3449;font-style:normal}#panel p{font-size:13px;line-height:1.8;max-width:310px;color:#bcb8bf;margin:0 0 24px}.actions{display:flex;gap:10px;flex-wrap:wrap}.primary,.secondary{padding:16px 23px;font-size:11px;letter-spacing:1.5px;font-weight:700;border-radius:2px}.primary{background:#e52d43;color:white}.primary:hover{background:#bd1930}.secondary{background:#25252c;border:1px solid #45454e;color:#f3eff2}.tag{font-size:9px;letter-spacing:2px;margin-top:25px;color:#bcb8bf}.cards{display:flex;gap:12px;flex-wrap:wrap}.card{text-align:left;width:225px;background:#202026;padding:23px;color:#f3eff2;border:1px solid #404049;border-radius:3px}.card b{font-size:26px;display:block;margin:20px 0 8px;font-family:'Barlow Condensed',Impact,sans-serif}.card small{display:block;line-height:1.7;color:#bcb8bf}.card:hover{border-color:#e52d43;transform:translateY(-3px)}.card .number{color:#e52d43;font-size:12px}#hud{position:absolute;inset:24px 28px auto;display:flex;gap:35px;align-items:center}#hud[hidden],#touch[hidden]{display:none}#hud small{display:block;font-size:9px;letter-spacing:2px;margin-bottom:4px}#hud strong{font-size:22px;font-variant-numeric:tabular-nums}#retry{margin-left:auto;background:#19191ee8;border:1px solid #555560;border-radius:50%;width:40px;height:40px;font-size:26px}.progress{position:absolute;top:70px;height:3px;background:#ffffff30;width:100%}.progress div{background:#ed3449;height:100%;width:0}#speed{position:absolute;top:92px;right:0;font-size:10px;letter-spacing:2px}#toast{position:absolute;top:27%;width:100%;text-align:center;pointer-events:none;color:#244a37;font-size:20px;font-weight:bold;text-shadow:0 1px #fff}footer{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid #303036;font-size:9px;letter-spacing:1px;color:#a29da8}footer b{display:inline-block;margin:0 7px 0 15px;color:#ded9df}footer b:first-child{margin-left:0}.bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;padding:22px 0;color:#918c97}#touch{position:absolute;bottom:15px;left:20px;right:20px;display:flex;gap:8px}#touch button{background:#111114bb;padding:15px;border-radius:4px;touch-action:none}#touch button:nth-child(3){margin-left:auto}@media(max-width:700px){header{height:75px}.edition,.brand-sub,.bottom span:nth-child(2){display:none}#trackmeta{font-size:8px}#stage{height:70vh;min-height:500px}#panel{padding:7%}h1{font-size:64px}.cards{gap:7px}.card{width:100%;padding:12px;display:flex;align-items:center;gap:10px}.card b{font-size:22px;margin:4px}.card small{font-size:10px}.cards{width:100%}footer{font-size:8px;gap:14px}#hud{gap:16px;inset:20px 15px auto}#hud strong{font-size:17px}.bottom{font-size:8px}}
header button{color:#e9e5eb}.header-actions{display:flex;align-items:center;gap:24px}#hud{color:#f8f5f6;text-shadow:0 1px 4px #0008;background:#15151bd9;padding:14px 18px;border:1px solid #ffffff18;border-radius:5px}#retry{color:#f5f0f2}.progress{left:0;top:88px}#speed{top:105px;background:#15151bd9;padding:6px 10px;border-radius:3px}#toast{color:#fff;text-shadow:0 2px 6px #000,0 0 20px #000}#touch button{color:#fff;background:#17171fdd}html:fullscreen{background:#111114}html:fullscreen header{height:66px}html:fullscreen main,html:fullscreen header{max-width:none}html:fullscreen #stage{height:calc(100vh - 180px);min-height:0}html:fullscreen .bottom{display:none}@media(max-width:700px){.header-actions{gap:12px}.header-actions span{display:none}}

/* Stable HUD columns: changing timer/score digits must not move adjacent labels. */
#hud > div:not(.progress){flex:0 0 132px;min-width:0}
#hud strong{display:block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:700px){#hud{gap:10px;padding:12px 10px}#hud > div:not(.progress){flex-basis:80px}#hud strong{font-size:15px}#hud small{font-size:8px;letter-spacing:1px}#retry{flex-shrink:0;width:32px;height:32px}}

#settings-dialog{color:#f3f0f0;background:#19191f;border:1px solid #44444e;border-radius:10px;width:min(430px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:28px;box-shadow:0 20px 80px #0008;overflow:auto}#settings-dialog::backdrop{background:#08080c66}.settings-heading{display:flex;align-items:center;justify-content:space-between}.settings-heading h2{font-size:38px;letter-spacing:0;margin:12px 0}.settings-heading .eyebrow{font-size:9px}#settings-close{color:#ddd;background:#292930;border-radius:50%;width:34px;height:34px;flex-shrink:0}.settings-note{color:#aaa6b0;font-size:12px;line-height:1.6;margin:12px 0 20px}.setting-label{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:18px 0 10px}.setting-label output{font-family:ui-monospace,monospace;color:#ff6073;font-size:12px}#settings-dialog input[type=range]{width:100%;accent-color:#ed3449;cursor:pointer;height:20px;margin:0}#settings-dialog input:focus-visible{outline:2px solid #ff6073;outline-offset:4px}.range-hints{display:flex;justify-content:space-between;color:#88838e;font-size:10px;margin-top:5px}.settings-divider{border-top:1px solid #33333c;margin:22px 0}.mute-setting{display:flex;align-items:center;gap:9px;margin:20px 0;font-size:13px}.mute-setting input{accent-color:#ed3449;width:17px;height:17px}#settings-dialog .actions button{padding:13px 16px;font-size:10px}@media(max-width:700px){#settings-dialog{padding:20px}header a{font-size:20px}.header-actions{gap:10px}}

/* Line Lab: a drawing workspace inside the same game stage. */
#editor[hidden]{display:none}#editor{position:absolute;inset:0;z-index:5;background:#15151b;display:flex;flex-direction:column;padding:18px;gap:12px}#editor button,#editor select{color:#e8e5ed;background:#262630;border:1px solid #41414d;border-radius:4px;padding:9px 12px;font:inherit;font-size:11px;cursor:pointer}#editor button.primary{background:#e52d43;border-color:#e52d43}#editor button[aria-pressed=true]{background:#48232e;border-color:#f34760;color:#ff9aab}#editor button:disabled{opacity:.35;cursor:default}.editor-top{display:flex;align-items:center;gap:14px}.editor-top h2{font-size:28px;margin:5px 0 0;letter-spacing:.5px}.editor-top .eyebrow{font-size:8px}.editor-top input{margin-left:auto;min-width:90px;width:180px;border:1px solid #41414d;background:#202028;color:#eee;padding:10px;border-radius:4px;font:inherit;font-size:12px}.editor-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tool-group{display:flex;gap:4px}#editor label{display:flex;align-items:center;gap:8px;font-size:10px;color:#aba6b3}.editor-board{position:relative;flex:1;min-height:160px;border:1px solid #3c4348;border-radius:6px;overflow:hidden}#draw-canvas{width:100%;height:100%;touch-action:none;cursor:crosshair}.board-badge{position:absolute;top:12px;left:12px;font-size:8px;letter-spacing:1.5px;color:#d0dad8;pointer-events:none}#editor-message{position:absolute;bottom:10px;left:12px;right:12px;color:#d1d8d8;background:#121b22cc;padding:8px 10px;font-size:11px;pointer-events:none;border-radius:3px}.editor-navigation,.editor-bottom{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.editor-navigation label{flex:1}.editor-navigation input{width:100%}#editor input[type=range]{accent-color:#ed3449;cursor:pointer}#editor-distance{font-size:10px;color:#a59eaa;min-width:92px}.editor-bottom{border-top:1px solid #34343e;padding-top:12px}.editor-files{display:flex;gap:5px;margin-left:auto}#editor-gravity{width:90px}#editor-gravity-value{min-width:35px;color:#ff8a9c}#settings-dialog select{background:#292932;color:#eee;border:1px solid #494952;border-radius:4px;padding:7px}.header-actions{gap:15px}@media(max-width:850px){#editor{padding:10px;gap:8px}.editor-top{flex-wrap:wrap;gap:8px}.editor-top h2{font-size:22px}.editor-top input{width:120px}#editor button,#editor select{padding:7px;font-size:10px}.editor-tools{gap:5px}.editor-board{min-height:150px}.editor-bottom{gap:7px}.editor-files{margin-left:0}.editor-top .eyebrow{display:none}header .edition{display:none}#editor-distance{display:none}.editor-top #ride-draft{margin-left:auto}#editor-message{font-size:9px}}@media(max-width:480px){.editor-top>div{display:none}.tool-group{flex-wrap:wrap}.editor-bottom label{font-size:9px}#editor-gravity{width:65px}.header-actions{gap:9px}header a{font-size:17px}.brand-icon{font-size:25px}.editor-top input{margin-left:0}}
