@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
#intro{animation:none}
.effect-section{border-top:1px solid #e2e9e4;padding-top:12px;margin-top:20px}
.effect-section h3,.effect-title{font-size:13px;font-weight:600;margin:8px 0 14px}
.effect-settings{border-left:2px solid #dfe9e1;padding-left:13px;margin-left:5px}
.effect-settings details{margin-bottom:12px}
#centerGraphPath{stroke:#6b789f;stroke-width:2;fill:none}
.base-colors{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.base-colors label,.color-stop label{display:grid;gap:6px;font-size:10px}
.base-colors input[type=color],.color-stop input[type=color]{width:100%;height:34px;padding:3px;border:1px solid #dce4de;border-radius:7px;background:#fff;cursor:pointer}
.color-stop{display:grid;grid-template-columns:72px 1fr 1fr 26px;align-items:end;gap:8px;margin:14px 0}
.color-stop input[type=number]{width:100%;height:34px;padding:7px;font-size:11px}
.color-stop .close{width:25px;height:29px;margin-bottom:2px}
#colorStopPreview{height:20px;border:1px solid #dce5df;border-radius:7px;margin:13px 0}
.color-space{display:grid;gap:8px}
#attractionStatus{display:block;font-variant-numeric:tabular-nums;color:#526b5a}

/* Keep the owner console and playable area visible together. */
body[data-developer-open=true]{--developer-width:clamp(300px,30vw,430px);--developer-stats-width:clamp(220px,20vw,280px)}
body[data-developer-open=true] #arena{left:calc(var(--developer-stats-width) + 32px);right:calc(var(--developer-width) + 32px)}
body[data-developer-open=true] #developerPanel{width:var(--developer-width)}
body[data-developer-open=true] #arena>.hud,body[data-developer-open=true] #arena>.deaths-hud,body[data-developer-open=true] #arena>#controls,body[data-developer-open=true] #arena>#home,body[data-developer-open=true] #arena>#connection{position:absolute}
body[data-developer-open=true] #arena>.leaderboard-panel,body[data-developer-open=true] #arena>.account-hud{display:none}
body[data-developer-open=true] #arena>.stats-panel{display:block;position:fixed;left:16px;top:160px;transform:none;width:var(--developer-stats-width);max-height:calc(100dvh - 180px);opacity:1}
body[data-developer-open=true] #arena>.deaths-hud{position:fixed;left:16px;top:24px}
body[data-developer-open=true] #arena>.center-copy{width:min(530px,calc(100% - 48px));max-height:calc(100% - 220px)}
body[data-developer-open=true] #developerButton{display:none}
#resetLevelValues{margin-top:18px;width:100%;white-space:normal}
#developerPanel>.dialog-head{position:sticky;top:0;z-index:2;background:#fff;padding-block:8px}
/* Distance colors follow the line directly instead of trailing it. */
body[data-state=playing] #band{transition:none}
body[data-state=playing] #connection[data-pending=true]{display:block;background:#fffffff0;padding:5px 10px;border-radius:8px}
@media(max-width:900px){
 body[data-developer-open=true] #arena{left:0;right:0;bottom:60dvh}
 body[data-developer-open=true] #developerPanel{left:8px;right:8px;top:calc(67dvh + 8px);bottom:8px;width:auto;padding:18px}
 body[data-developer-open=true] #arena>.stats-panel{left:8px;right:8px;top:calc(40dvh + 6px);width:auto;max-height:calc(27dvh - 12px);padding:10px 12px}
 body[data-developer-open=true] .stats-panel .panel-body{padding-top:7px}
 body[data-developer-open=true] .stats-panel .tabs{max-width:210px}
 body[data-developer-open=true] .stats-panel .tabs button{font-size:10px;padding:4px 6px}
 body[data-developer-open=true] .stats-panel h2{font-size:11px;margin:7px 0}
 body[data-developer-open=true] #statsValues{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:6px 9px}
 body[data-developer-open=true] #statsValues dt,body[data-developer-open=true] #statsValues dd{font-size:10px;line-height:1.35}
 body[data-developer-open=true] #arena>.hud{top:8px;left:50%;min-width:210px;padding:9px 14px}
 body[data-developer-open=true] #arena>.deaths-hud{position:absolute;top:auto;bottom:10px;left:12px}
 body[data-developer-open=true] .death-count{padding:4px 8px;font-size:12px}
 body[data-developer-open=true] #deaths{font-size:17px}
 body[data-developer-open=true] .run-actions .quiet{min-width:58px;min-height:29px;padding:5px 8px;font-size:10px}
 body[data-developer-open=true] #arena>.center-copy{top:49%;max-height:calc(100% - 150px);padding:0}
 body[data-developer-open=true] .intro-lead{font-size:12px;margin-bottom:5px}
 body[data-developer-open=true] .intro-title{font-size:clamp(20px,5vw,32px)}
 body[data-developer-open=true] #intro h2{margin:6px 0 10px}
 body[data-developer-open=true] #arena>.center-copy p{font-size:11px;line-height:1.5;margin:8px 0 12px}
 body[data-developer-open=true] #arena>#controls{bottom:12px;left:auto;right:12px;transform:none;gap:3px}
 body[data-developer-open=true] #controls .quiet{font-size:10px;padding:7px 9px}
 body[data-developer-open=true] #arena>#home,body[data-developer-open=true] #arena>#connection{display:none}
}
*{box-sizing:border-box}:root{font-family:'DM Sans',system-ui,sans-serif;color:#202a25;background:#fff;color-scheme:light;font-synthesis:none;--border:#e5e9e6;--ink:#202a25}body,html{margin:0;width:100%;height:100%;overflow:hidden}button,input,select{font:inherit;color:inherit}button,a,input,summary,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #5c8d70;outline-offset:4px}[hidden]{display:none!important}
#arena{position:fixed;inset:0;background:#fff;overflow:hidden}#band{position:absolute;inset-block:0;background:#eaf3ed;border-inline:1px solid #c6dacd;pointer-events:none;transition:background .25s}#line{position:absolute;inset-block:0;left:0;width:2px;background:var(--ink);pointer-events:none;will-change:transform;transition:background .18s;z-index:1}body[data-state=failed] #line{background:#e85555;box-shadow:0 0 18px #e8555520}body[data-state=failed] #band{background:#f0f4f0}#confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}
html[data-free-game-cursor=true],body[data-free-game-cursor=true],body[data-free-game-cursor=true] *{cursor:none!important}
.hud{position:fixed;top:28px;left:50%;transform:translateX(-50%);display:flex;gap:25px;align-items:center;padding:15px 17px 15px 24px;border:1px solid #e2e8e3;background:#ffffffeb;backdrop-filter:blur(16px);border-radius:22px;box-shadow:0 6px 30px #243d2b07;z-index:3;pointer-events:none;min-width:244px}h1{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;margin:0 0 7px}.level{font-size:23px;font-weight:500;letter-spacing:-.05em;white-space:nowrap}.slash{font-size:15px;color:#a0a8a3;letter-spacing:-.02em;margin-left:3px}#testBadge{font-size:9px;letter-spacing:.04em;background:#edf0f7;color:#69738c;padding:3px 6px;border-radius:5px;margin-left:7px;vertical-align:middle}.clock{width:60px;height:60px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;flex-shrink:0}.clock svg{position:absolute;inset:0;transform:rotate(-90deg);overflow:visible}.clock circle{fill:none;stroke-width:1.8}.clock-track{stroke:#e7ece8}#timerArc{stroke:#202a25;stroke-linecap:round;stroke-dasharray:169.646;stroke-dashoffset:0}#remaining{font-size:16px;letter-spacing:-.06em;font-variant-numeric:tabular-nums;line-height:1.2}.clock-unit{font-size:8px;letter-spacing:.05em;color:#8a948c}
.center-copy{position:absolute;left:50%;top:50%;transform:translate(-50%,-45%);text-align:center;z-index:2;width:min(460px,calc(100% - 36px));padding:28px 0;isolation:isolate;animation:arrive .45s cubic-bezier(.2,.8,.2,1) both}.center-copy:before{content:'';position:absolute;inset:-14px -24px;background:radial-gradient(ellipse,#ffffffed 35%,#ffffffe0 58%,#ffffff00 73%);z-index:-1;pointer-events:none}.micro{font-size:9px;font-weight:600;letter-spacing:.18em;color:#849088;text-transform:uppercase}.center-copy h2{font-size:clamp(34px,5vw,54px);font-weight:450;letter-spacing:-.065em;line-height:1.08;margin:16px 0 15px}.center-copy p{font-size:14px;line-height:1.8;color:#7b857e;margin:0 0 26px}.start-link{background:#fff;border:1px solid #dfe6e0;border-radius:999px;padding:13px 20px;font-size:12px;box-shadow:0 3px 10px #1b3c2205;transition:transform .2s,box-shadow .2s,border-color .2s}.start-link:hover{transform:translateY(-2px);box-shadow:0 6px 18px #1b3c220b;border-color:#afc4b5}.start-link>span{margin-left:14px}kbd{font:inherit;font-weight:600}.center-copy .subtle{font-size:10px;margin:16px 0 0}.success #resultEyebrow{color:#58806a}.success h2{color:#254b35}
#controls{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;z-index:4;white-space:nowrap}.control-group{display:flex;border:1px solid var(--border);background:#fff;border-radius:999px;padding:3px;box-shadow:0 4px 16px #23322604}.quiet{background:#ffffffeb;border:1px solid transparent;border-radius:999px;padding:10px 14px;font-size:11px;display:inline-flex;gap:7px;align-items:center;justify-content:center;transition:background .2s,color .2s}.quiet:hover{background:#f0f4f1}.mode-dot{width:5px;height:5px;display:inline-block;background:#7d9e87;border-radius:100%}.developer{color:#7d8780;padding-inline:12px}.temporary{font-size:7px;background:#edf0ed;padding:3px 4px;border-radius:3px;letter-spacing:.07em}#home{position:fixed;left:28px;bottom:35px;color:#909a93;text-decoration:none;font-size:11px;z-index:4}#home span{margin-left:8px}#home:hover{color:#283c2e}.connection{position:fixed;right:28px;bottom:28px;font-size:9px;letter-spacing:.01em;color:#9aa39d;margin:0;max-width:190px;text-align:right;line-height:1.5;z-index:3}body[data-state=playing] #intro,body[data-state=playing] #result,body[data-state=playing] #controls,body[data-state=playing] #home,body[data-state=playing] .connection{display:none!important}
dialog{border:1px solid #e3e9e4;border-radius:22px;background:#fff;padding:28px;color:var(--ink);width:min(470px,calc(100vw - 32px));max-height:calc(100dvh - 40px);box-shadow:0 24px 100px #18332218;animation:dialog-in .2s ease;overflow:auto}dialog::backdrop{background:#253e2c18;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:24px}.dialog-head h2{margin:7px 0 0;font-size:25px;letter-spacing:-.055em;font-weight:500}.close{border:0;background:#f4f6f4;border-radius:100%;width:29px;height:29px;font-size:20px;line-height:1;color:#7a867d}.close:hover{background:#e6ece7}.mode{width:100%;display:flex;align-items:center;justify-content:space-between;padding:17px 18px;margin:9px 0;border:1px solid var(--border);background:#fff;border-radius:13px;font-size:13px;text-align:left}.mode small{display:block;color:#9ba39e;font-size:10px;font-weight:400;margin-top:5px}.mode.active{background:#f0f6f1;border-color:#bdd1c3}.mode.active>span:last-child{color:#578268}.mode:disabled{color:#acb3ae;background:#fafbfa}.mode:disabled small{margin:0;font-size:9px}.mode-name{display:block}.subtle{font-size:11px;color:#89938c;line-height:1.7}label{font-size:11px;color:#5e6b62}input:not([type=checkbox]):not([type=range]),select{min-width:0;border:1px solid var(--edge,#dce4de);border-radius:8px;background:var(--field-surface,#fbfcfb);color:var(--text,#19271f);caret-color:currentColor;color-scheme:inherit;padding:10px;font-size:12px}input:disabled{opacity:.5}.input-row{display:flex;gap:8px;margin-top:8px}.input-row input{flex:1;width:100%}.primary{border:1px solid #283c30;background:#283c30;color:white;border-radius:9px;font-size:11px;padding:10px 14px;white-space:nowrap}.primary:hover{background:#3b5444}.primary:disabled{opacity:.5}#nameForm{border-top:1px solid var(--border);padding-top:20px;margin-top:20px}#nameStatus{font-size:11px;color:#65806d}#rankings{margin-top:22px;font-size:12px;color:#7d8980}.ranking{display:grid;grid-template-columns:23px 1fr auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #f0f3f0}.rank-name{color:#34433a;font-size:12px}.rank-meta{text-align:right;font-size:10px}.rank-meta small{display:block;color:#a0a9a2;font-size:9px;margin-top:3px}.empty{padding:22px;text-align:center;background:#f7f9f7;border-radius:12px;line-height:1.8;font-size:12px}
#developerPanel{position:fixed;right:16px;top:16px;bottom:16px;width:min(410px,calc(100vw - 32px));z-index:8;padding:25px;background:#fffffffa;backdrop-filter:blur(14px);border:1px solid #dee6e0;border-radius:20px;box-shadow:0 16px 80px #18332216;overflow-y:auto;overscroll-behavior:contain;animation:drawer-in .25s ease}#developerPanel .dialog-head{margin-bottom:20px}#developerPanel h2{font-size:23px}.editor-toolbar{display:flex;align-items:center;gap:10px}.editor-toolbar select{flex:1}.editor-toolbar .quiet{padding:8px;font-size:10px}.range-control{margin:19px 0}.range-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.range-heading output{color:#35493c;font-size:11px;font-variant-numeric:tabular-nums}.range-control input[type=range]{width:100%;height:3px;accent-color:#537c62;cursor:pointer;display:block;margin:12px 0 4px}.check{display:flex;align-items:center;gap:9px;margin:15px 0;color:#57695d;line-height:1.5}.check input{accent-color:#557c61;width:14px;height:14px;margin:0}.slider-endpoints{display:flex;justify-content:space-between;gap:8px;font-size:8px;color:#a2aaa5;margin:-5px 0 18px}.graph{margin:20px 0;background:#f7faf7;border:1px solid #e8eee9;border-radius:12px;padding:12px 8px 3px}.graph svg{width:100%;height:auto;display:block}.graph text{font-family:inherit;font-size:9px;fill:#8c9c90}.axes{fill:none;stroke:#cedbd1;stroke-width:1}#graphPath{stroke:#548367;stroke-width:2;fill:none}details{border-top:1px solid var(--border);padding-top:14px;margin:20px 0}summary{font-size:11px;color:#7b8b7f;cursor:pointer}.editor-actions{display:flex;align-items:center;gap:6px;margin-top:22px}.editor-actions>*{flex:1}.publish{border-top:1px solid var(--border);margin-top:23px;padding-top:20px}#publishStatus[data-error=true],#nameStatus[data-error=true]{color:#bc5c5c}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes arrive{from{opacity:0;transform:translate(-50%,calc(-45% + 9px))}to{opacity:1;transform:translate(-50%,-45%)}}@keyframes dialog-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes drawer-in{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:1000px){.connection{bottom:78px;right:50%;transform:translateX(50%);max-width:280px;text-align:center}#home{bottom:38px;left:20px;font-size:10px}#controls{gap:3px}.quiet{font-size:10px;padding:10px}#controls .temporary{display:none}.hud{top:20px}}@media(max-width:620px){#home{bottom:90px;left:50%;transform:translateX(-50%)}.connection{bottom:120px}.hud{top:16px;padding:12px 14px 12px 20px;gap:20px;min-width:220px}.center-copy h2{font-size:38px}#controls{bottom:25px}.developer{font-size:9px}.center-copy p{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Hold the Line: accounts, five difficulties and community panels. */
:root{--ink:#111b15;color:#17241b}#band{background:#eaf3ed;transition:background .12s,border-color .12s}.hud{top:24px;min-width:248px;padding:16px 20px 14px 24px}.difficulty-label{font-size:9px;color:#8a988f;margin:7px 0 0}.deaths-hud{position:fixed;left:24px;top:29px;z-index:4}.death-count{display:flex;align-items:center;gap:8px;font-size:13px;font-variant-numeric:tabular-nums}.death-count svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4}.run-actions{display:flex;gap:4px;margin-top:8px}.run-actions .quiet{padding:6px 9px;font-size:10px;color:#7a897f}.run-actions .quiet:disabled{opacity:.35}.account-hud{position:fixed;right:24px;top:28px;display:flex;align-items:center;gap:12px;z-index:4;max-width:360px}.account-hud>span{font-size:10px;color:#89978e;line-height:1.6;text-align:right;max-width:173px}.outlined{border:1px solid #e2e8e3;box-shadow:0 3px 15px #23322604;background:#fffffff0}.account-hud button{white-space:nowrap;font-size:10px;padding:11px 14px}.center-copy{width:min(590px,calc(100% - 650px));top:49%;max-height:calc(100dvh - 230px);padding:12px 8px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d0ddd3 transparent}.center-copy:before{position:fixed;inset:-30px -50px}.center-copy h2{font-size:clamp(30px,3.6vw,50px)}#intro .micro{font-size:10px;letter-spacing:.15em;text-transform:none}#result h2{font-size:clamp(24px,2.7vw,37px);line-height:1.2}#resultDetail{white-space:pre-line;font-size:13px;line-height:1.8;color:#66796d;margin:22px 0}#resultDetail:empty{display:none}#verificationStatus{font-size:10px;margin:14px 0 0;min-height:14px}.side-panel{position:fixed;z-index:3;width:250px;padding:18px;border:1px solid #e4ebe5;border-radius:18px;background:#fffffff0;box-shadow:0 8px 40px #203b2506;backdrop-filter:blur(14px);transition:opacity .2s}.stats-panel{left:24px;top:50%;transform:translateY(-45%)}.leaderboard-panel{right:24px;top:50%;transform:translateY(-45%);width:270px}.panel-title{border:0;padding:0;display:flex;width:100%;align-items:center;justify-content:space-between;background:none;font-size:13px;letter-spacing:-.02em;text-align:left}.panel-title>span{font-size:17px;color:#94a398;font-weight:400}.panel-body{padding-top:16px}.side-panel.collapsed .panel-body{display:none}.stats-panel h2{font-size:11px;font-weight:500;margin:18px 0}.tabs{display:flex;gap:4px;padding:3px;background:#f2f6f2;border-radius:9px}.tabs button{background:none;border:0;border-radius:6px;padding:7px 9px;font-size:10px;flex:1;color:#8c9a90}.tabs button.selected{background:#fff;color:#34513f;box-shadow:0 2px 8px #19362005}#statsValues{display:grid;grid-template-columns:1fr auto;gap:12px 10px;margin:0}#statsValues dt{font-size:10px;color:#8c9b90;line-height:1.55}#statsValues dd{font-size:11px;margin:0;text-align:right;font-variant-numeric:tabular-nums;color:#334e3c}.micro-note{font-size:8px;line-height:1.6;color:#a0aca3;margin:19px 0 0}.leaderboard-head{display:flex;gap:10px;align-items:center}.icon-button{background:none;border:0;color:#93a299;font-size:17px;padding:0 2px}.leaderboard-panel select{width:100%;font-size:10px;padding:7px 9px;margin-bottom:14px}.board-columns{display:grid;grid-template-columns:1fr 53px 39px;gap:7px;font-size:8px;color:#9ca99f;border-bottom:1px solid #e9eeea;padding-bottom:8px}.board-columns span:not(:first-child){text-align:right}#boardScroll{max-height:238px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d1dbd3 transparent}.leaderboard-panel.expanded #boardScroll{max-height:55vh}.leaderboard-panel.expanded{z-index:6}.board-row{display:grid;grid-template-columns:1fr 53px 39px;gap:7px;align-items:center;min-height:39px;border-bottom:1px solid #eef2ee;font-size:10px}.board-user{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5d7665}.board-user small{color:#a5afa8;font-size:8px;margin-right:7px;display:inline-block;min-width:12px}.board-row>span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;color:#6b7e71}.board-row.is-me{background:#edf5ef}.self-dock{border:1px solid #cadaCE;border-radius:7px;background:#edf5ef;padding:0 7px}.self-dock .board-row{border:0}.board-row.obscured{filter:blur(3px);opacity:.3;user-select:none;pointer-events:none}.text-button{padding:0;border:0;background:none;color:#6b8b77;font-size:9px;line-height:1.6;text-align:left;margin-top:14px}.text-button:hover{text-decoration:underline}.empty-board{font-size:10px;line-height:1.7;color:#99a79c;text-align:center;padding:22px 5px}.lock-inline{font-size:12px}.leaderboard-panel #boardLoading{margin:4px 0;font-size:9px}.classic-row{display:flex;align-items:stretch;gap:7px}.classic-row>.mode{flex:1;margin-block:8px}.cycle{border:1px solid #dfe8e1;background:#f8faf8;border-radius:12px;color:#647e6c;min-width:39px;font-size:23px;line-height:1;padding:8px 12px}.classic-row>.cycle{margin:8px 0}.difficulty-choices{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 20px}.difficulty-choices button{font-size:8px;padding:6px 9px;border-radius:999px;border:1px solid #e3eae4;background:#fff;color:#899c90}.difficulty-choices button.selected{border-color:#93b29f;color:#345f45;background:#f2f7f3}.difficulty-choices button.locked{color:#b0b9b2;background:#f9faf9}.mode.locked{background:#f6f7f6;color:#a5afa7;border-color:#e9ede9}.mode.locked small{color:#a5afa7}.mode-lock svg,.locked svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}.mode.active .checkmark{color:#5c8c6e}.free-dialog{width:min(940px,calc(100vw - 32px));padding:30px}.free-pagination{display:flex;align-items:center;justify-content:space-between;margin:5px 0 25px}.free-pagination>span{color:#8b9a90;font-size:11px}.free-pagination button:disabled{opacity:.25}.free-grids{display:grid;grid-template-columns:1fr 1fr;gap:36px}.free-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 9px;padding:12px}.level-circle{position:relative;isolation:isolate;aspect-ratio:1;width:100%;border-radius:100%;border:1px solid #e0e4e1;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:9px;transition:transform .15s;box-shadow:0 2px 10px #0a291205}.level-circle small{font-size:7px;letter-spacing:.02em;line-height:1.5}.level-circle span{font-size:15px;font-weight:500}.level-circle:not(:disabled):hover{transform:translateY(-3px)}.level-circle.easy{background:#d9edf9;color:#174773;border-color:#bfd6e7}.level-circle.normal{background:#fff;color:#101510}.level-circle.expert{background:#f9dede;color:#8c2727;border-color:#edbcbc}.level-circle.master{background:#301a48;color:#e75a4d;text-shadow:-.4px -.4px 0 #f08775,.4px .4px 0 #f08775;border-color:#5a2769}.level-circle.linegod{background:#a6dfcc;color:#fff;-webkit-text-stroke:.25px #fff;text-shadow:0 0 10px #ffffffde;border-color:#d7f3e7}.level-frame{position:absolute;inset:-9px;width:calc(100% + 18px);height:calc(100% + 18px);fill:none;stroke:#b76162;stroke-width:1;pointer-events:none;z-index:-1}.linegod .level-frame{stroke:#13291e;stroke-width:.8;inset:-7px -12px;width:calc(100% + 24px);height:calc(100% + 14px)}.level-circle:disabled{opacity:.28;filter:grayscale(.5);cursor:default}.level-circle .circle-lock{position:absolute;bottom:8%;width:10px;height:10px;stroke:currentColor;fill:none;stroke-width:1.5}.free-dialog>.subtle{text-align:center;font-size:10px;margin-top:24px}#authForm label,#signedAccount label,#otpForm label{display:flex;flex-direction:column;gap:7px;margin:16px 0}#authForm .primary{width:100%;margin-top:6px}#authTabs{margin-bottom:18px}#signedUsername{font-size:14px}#emailVerification{padding-top:16px;border-top:1px solid #e4ebe5}#emailVerification h3{font-size:16px;font-weight:500}#otpForm{margin-top:12px}#authStatus[data-error=true],#publishStatus[data-error=true],#verificationStatus[data-error=true]{color:#b24e4e}.confirm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.confirm-actions>*{flex:1}#confirmText{font-size:13px;color:#768b7d;line-height:1.8;white-space:pre-line}.achievement-dialog{width:min(750px,calc(100vw - 32px))}#achievementGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.achievement-card{padding:16px 12px;border:1px solid #e5ebe6;border-radius:12px;background:#f9fbf9;min-height:110px;opacity:.4}.achievement-card.earned{background:#eef7f0;border-color:#c3d9ca;opacity:1}.achievement-card h3{font-size:12px;font-weight:500;margin:0 0 9px}.achievement-card p{font-size:10px;color:#899d8e;line-height:1.6;margin:0}.achievement-card time{font-size:8px;display:block;color:#839b8a;margin-top:9px}#toasts{position:fixed;right:20px;bottom:22px;z-index:30;width:300px;pointer-events:none}.toast{border:1px solid #ceded1;border-radius:13px;padding:16px 18px;background:#f5fbf6;box-shadow:0 10px 35px #173b2212;margin-top:10px;animation:drawer-in .25s ease}.toast small{display:block;letter-spacing:.12em;font-size:8px;color:#8da392;margin-bottom:7px;text-transform:uppercase}.toast p{margin:0;font-size:12px;color:#34543f}.toast .subtle{font-size:10px;margin-top:6px}#connection{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);font-size:9px;color:#9baa9e;max-width:400px;text-align:center;z-index:3;margin:0;line-height:1.5}#controls{bottom:34px;gap:7px}#home{font-size:10px;color:#94a398;bottom:30px}#developerPanel{width:min(430px,calc(100vw - 32px));z-index:15}#developerPanel select{max-width:200px}.editor-toolbar{margin-bottom:10px}#developerPanel .editor-toolbar label{min-width:47px}.range-control input[type=range]{touch-action:none}body[data-state=playing] .account-hud>span{display:none}body[data-state=playing] .side-panel{opacity:.55}body[data-state=playing] .side-panel:hover{opacity:1}body[data-state=playing] #connection{display:none}
@media(max-width:1150px){.center-copy{width:min(500px,calc(100% - 80px));max-height:calc(100dvh - 260px)}.side-panel{top:180px;transform:none}.stats-panel{left:16px}.leaderboard-panel{right:16px}.side-panel:not(:hover).collapsed{width:140px;padding:12px 15px}.account-hud>span{display:none}.account-hud{right:18px}.hud{top:20px}.deaths-hud{left:18px;top:28px}.side-panel:not(.collapsed){z-index:6;box-shadow:0 15px 60px #21402b16}}
@media(max-width:650px){.hud{top:18px;min-width:210px;gap:12px;padding:12px 16px;left:50%}.hud h1{font-size:9px}.level{font-size:20px}.clock{width:51px;height:51px}.deaths-hud{top:121px;left:16px}.death-count{font-size:10px}.death-count svg{width:17px;height:17px}.account-hud{top:127px;right:16px;max-width:180px}.account-hud button{font-size:9px;padding:8px 10px}.side-panel{top:200px}.stats-panel.collapsed,.leaderboard-panel.collapsed{width:131px!important}.panel-title{font-size:11px}.center-copy{top:54%;max-height:calc(100dvh - 340px);width:calc(100% - 40px)}#intro h2{font-size:38px}#result h2{font-size:25px}#resultDetail{font-size:11px;line-height:1.65}.free-grids{gap:10px}.free-grid{gap:12px 6px;padding:3px}.free-dialog{padding:20px 12px}.level-circle small{font-size:5px}.level-circle span{font-size:10px}.level-frame{inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px)}#achievementGrid{grid-template-columns:repeat(2,1fr)}#controls{bottom:35px}#home{bottom:83px;left:50%;transform:translateX(-50%)}#connection{bottom:12px;max-width:290px}.account-hud .quiet{max-width:170px;overflow:hidden;text-overflow:ellipsis}.run-actions{margin-top:4px}.run-actions .quiet{padding:4px 7px}.difficulty-label{font-size:8px}}


.lock-icon{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.4;vertical-align:middle;margin-left:4px}.circle-lock .lock-icon{width:9px;height:9px;margin:0}.level-circle span{font-size:9px;line-height:1.3;padding-inline:3px}.toast strong{display:block;font-size:11px;font-weight:500;margin-bottom:6px}.toast p{font-size:10px;line-height:1.5}.achievement-mark{display:block;margin-bottom:10px;color:#5b886a}
.center-copy{overflow-x:hidden;background:radial-gradient(ellipse,#fffffffa 30%,#fffffff0 70%,#ffffff00);border-radius:20px}.center-copy:before{display:none}#intro{overflow:visible;padding:24px 16px;background:none}
/* Preserve the cloud gradient and let its ellipse fade beyond the text box. */
#intro:before{display:block;position:absolute;inset:-20.710678%;background:radial-gradient(ellipse closest-side,#fffffffa 30%,#fffffff0 70%,#ffffff00)}#result{padding:24px 22px;background:#fffffff5;box-shadow:0 8px 45px #14382007}
#resultDetail{overflow-wrap:anywhere}.self-dock .board-row{background:#e7f2eb}.difficulty-choices .locked{cursor:pointer}
.retry-icon{display:block;margin:0 auto 15px;width:66px;height:42px;border:1px solid #dce1dd;border-radius:8px;background:#eef0ee;color:#647168}.retry-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}.retry-icon:hover{background:#e1e7e2}.retry-icon:disabled{opacity:.5}
#line{background:#000}#band{background:rgb(91 163 116 / .12)}.level-circle.normal{color:#000}
#playfield{position:absolute;inset:0;touch-action:none}.start-link,.retry-icon{touch-action:manipulation}
@media(hover:none),(pointer:coarse),(max-width:650px){body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable="true"]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}}
/* Clearer controls and panel typography. The cap limits width, never position. */
.deaths-hud{top:24px}.death-count{gap:11px;padding:12px 16px;border:1px solid #cdd8d0;border-radius:14px;background:#fffffff2;box-shadow:0 4px 20px #19352208;font-size:19px;font-weight:500;color:#17241b}.death-count svg{width:28px;height:28px;stroke-width:1.6}#deaths{font-size:24px;font-weight:650}.run-actions{gap:9px;margin-top:10px}.run-actions .quiet{min-width:94px;min-height:42px;padding:10px 18px;border:1px solid #aab9af;border-radius:10px;background:#fff;color:#344d3c;font-size:13px}.run-actions .quiet:disabled{opacity:.5}.run-actions .quiet:hover:not(:disabled){background:#f0f6f1;border-color:#6e8a77}
#intro h2{margin:19px 0 22px}.intro-lead{display:block;font-size:17px;line-height:1.5;font-weight:400;letter-spacing:.01em;margin-bottom:10px;color:#5a7061}.intro-title{display:block;font-size:clamp(28px,3.2vw,47px);line-height:1.15;white-space:nowrap}.hud h1,.intro-title{font-family:inherit;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.stats-panel{width:280px;max-height:calc(100dvh - 190px);overflow-y:auto}.leaderboard-panel{width:310px}.panel-title{font-size:16px}.stats-panel h2{font-size:13px;line-height:1.5}.side-panel .tabs button{font-size:12px;padding:8px}.micro-note{font-size:10px;color:#819287}#statsValues{gap:12px 13px}#statsValues dt{font-size:13px;color:#647b6d}#statsValues dd{font-size:14px;color:#263e2f;line-height:1.5}.leaderboard-panel select{font-size:12px;padding:9px}.board-columns,.board-row{grid-template-columns:minmax(0,1fr) 66px 45px;gap:8px}.board-columns{font-size:10px}.board-row{min-height:44px;font-size:13px}.board-row>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-button{font-size:12px}.leaderboard-panel #boardLoading{font-size:12px;line-height:1.6}.center-copy{width:min(590px,calc(100% - 730px))}
.statistics-tools{border-top:1px solid #dfe7e1;margin-top:25px;padding-top:20px}.statistics-tools h3{font-size:15px;font-weight:500;margin:0 0 14px}.danger-button{border:1px solid #c39292;border-radius:9px;background:#fff7f7;color:#963d3d;padding:11px 15px;font-size:12px}.danger-button:hover{background:#fceaea}.danger-button:disabled{opacity:.5;cursor:default}
.account-hud{max-width:460px;gap:14px}.account-hud>span{max-width:235px;font-size:14px;line-height:1.6;color:#647b6d}.account-hud button{min-height:44px;padding:12px 16px;font-size:13px}
@media(max-width:1150px){.center-copy{width:min(530px,calc(100% - 60px))}.stats-panel:not(.collapsed){width:280px}.leaderboard-panel:not(.collapsed){width:310px}.deaths-hud{top:23px}.death-count{font-size:17px;padding:9px 12px}#deaths{font-size:22px}.run-actions .quiet{min-width:85px;min-height:40px;padding:9px 13px;font-size:12px}}
@media(max-width:650px){.deaths-hud{top:120px;left:14px}.death-count{padding:7px 9px;font-size:14px;gap:7px}.death-count svg{width:23px;height:23px}#deaths{font-size:18px}.run-actions{gap:6px;margin-top:7px}.run-actions .quiet{min-width:69px;min-height:35px;padding:7px 10px;font-size:11px}.side-panel{top:245px}.panel-title{font-size:13px}.center-copy{top:60%;width:calc(100% - 40px)}.intro-lead{font-size:15px}.intro-title{font-size:32px}#intro h2{font-size:32px}}

/* The intro has one soft elliptical cloud, with no rectangular backing. */
#intro{background:transparent;border-radius:0;box-shadow:none;overflow:visible}
#intro::before{border-radius:50%;background:radial-gradient(ellipse closest-side,#fffffffa 30%,#fffffff0 70%,#ffffff00 100%);box-shadow:none;pointer-events:none}
.statistics-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.statistics-heading .panel-title{width:auto;gap:12px}.explorer-launch{font-size:10px;line-height:1.35;margin:0;max-width:85px;text-align:right;flex-shrink:0}
.tabs button:disabled{opacity:.45;cursor:not-allowed}.board-tabs{margin-bottom:12px}#eloBoardContext{font-size:10px;line-height:1.6;margin:0 0 10px}.leaderboard-panel[data-board=elo] .board-columns,.leaderboard-panel[data-board=elo] .board-row{grid-template-columns:minmax(0,1fr) 130px}.leaderboard-panel[data-board=elo] .board-row>span:last-child{font-size:11px}
.profile-stats{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:13px}.profile-stats dt{color:#647b6d}.profile-stats dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}#profileStatistics{border-block:1px solid #e4ebe5;padding:12px 0;margin:18px 0}#profileStatistics h3{font-size:15px;font-weight:500}
.level-stats-dialog{width:min(1440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:26px}.level-stats-dialog .dialog-head{gap:14px}.level-stats-dialog .dialog-head>div{flex:1}.level-table-wrap{overflow:auto;max-height:65dvh;border:1px solid #dfe7e1;border-radius:12px}.level-stats-dialog table{border-collapse:separate;border-spacing:0;width:100%;min-width:1230px;font-size:12px;font-variant-numeric:tabular-nums;text-align:right}.level-stats-dialog th{position:sticky;top:0;background:#edf4ef;z-index:1;vertical-align:bottom}.level-stats-dialog th,.level-stats-dialog td{padding:12px 10px;border-bottom:1px solid #e3ebe5}.level-stats-dialog th button{border:0;background:none;font:inherit;color:#34533e;font-weight:600;cursor:pointer;text-align:inherit;min-height:42px;white-space:normal}.level-stats-dialog th[aria-sort=descending],.level-stats-dialog th[aria-sort=ascending]{background:#dcebe1}.level-stats-dialog tr:nth-child(even){background:#f6f9f7}.level-stats-dialog td:nth-child(2){text-align:left;white-space:nowrap}.level-stats-dialog td:nth-last-child(2){white-space:nowrap}
@media(max-width:650px){.level-stats-dialog{width:calc(100vw - 16px);padding:16px}.level-stats-dialog h2{font-size:20px}.level-stats-dialog .dialog-head{gap:8px}.level-stats-dialog .subtle{font-size:11px}.statistics-heading{gap:4px}.explorer-launch{font-size:9px;max-width:76px}.stats-panel:not(.collapsed){max-width:calc(100vw - 32px);max-height:calc(100dvh - 270px)}}

.stats-panel.collapsed .statistics-heading{flex-direction:column;align-items:stretch;gap:6px}.stats-panel.collapsed .statistics-heading .panel-title{width:100%}.stats-panel.collapsed .explorer-launch{max-width:none;text-align:left;font-size:9px}.leaderboard-panel{max-height:calc(100dvh - 190px);overflow-y:auto}

@media(min-width:1151px){.stats-panel{top:160px;transform:none;max-height:calc(100dvh - 235px)}}
#statsValues{grid-template-columns:minmax(0,1fr) minmax(0,106px)}#statsValues dd{overflow-wrap:normal;white-space:normal}

@media(min-width:1151px){.stats-panel{width:310px}}

/* Confirmation remains an account action while signup is pending. */
#checkVerification{border:1px solid #428bd4;color:#2873bf;background:transparent}body[data-theme=dark] #checkVerification{border-color:#68a9ea;color:#88bfff}#verificationEmailLabel{display:grid;gap:7px;margin:16px 0}#verificationEmailLabel[hidden]{display:none}

/* Field colors must stay paired: the base input selector outranks generic dark input rules. */
body[data-theme=dark]{--field-surface:#111a1e;--field-placeholder:#adbbb3}
textarea,select option{background:var(--field-surface,#fbfcfb);color:var(--text,#19271f);caret-color:currentColor;color-scheme:inherit}
input::placeholder,textarea::placeholder{color:var(--field-placeholder,#5f7366);opacity:1}
#authDialog input:is(:autofill,:-webkit-autofill),.email-link-dialog input:is(:autofill,:-webkit-autofill){-webkit-text-fill-color:var(--text,#19271f);caret-color:var(--text,#19271f);box-shadow:0 0 0 1000px var(--field-surface,#fbfcfb) inset}
/* v4.40 Advanced Message Triggers: a pausing message over the play area, or a short banner. */
#arena>.trigger-message{z-index:6}
.trigger-message h2{font-size:clamp(24px,3.2vw,34px);margin:6px 0 10px}
.trigger-message p{white-space:pre-line;margin:0 0 16px;font-size:15px;line-height:1.5}
#arena>.trigger-message.banner{top:14%;transform:translate(-50%,0);padding:12px 0;pointer-events:none}
.trigger-message.banner h2{font-size:20px;margin:0 0 4px}.trigger-message.banner p{margin:0}
