.algo-rhythm-page{min-height:calc(100dvh - 260px);max-width:900px;margin:auto}.algo-rhythm-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:42px}.algo-rhythm-page-header h1,.algo-rhythm-form-heading h1,.algo-rhythm-start h1{margin:8px 0 0;font:800 clamp(48px,8vw,88px)/.92 Manrope,sans-serif;letter-spacing:-.06em}.algo-rhythm-page-header h1 strong{color:var(--accent);font:inherit}.algo-rhythm-list{display:grid;gap:16px}.algo-rhythm-card{display:grid;grid-template-columns:112px minmax(0,1fr) auto;align-items:center;gap:24px;padding:22px;border:1px solid var(--border-dark);border-radius:26px;background:#171717}.algo-rhythm-card-copy{min-width:0}.algo-rhythm-card h2{overflow-wrap:anywhere;margin:0 0 7px;font:800 25px Manrope,sans-serif}.algo-rhythm-card p,.algo-rhythm-full-sequence{overflow-wrap:anywhere;margin:0;color:var(--text-secondary);line-height:1.5}.algo-rhythm-card-actions{display:flex;align-items:center;gap:8px}.algo-rhythm-card-actions .primary,.algo-rhythm-card-actions .secondary{min-height:44px;padding-inline:18px}.algo-rhythm-delete,.algo-rhythm-back{border:0;background:transparent;color:var(--text-secondary);cursor:pointer}.algo-rhythm-delete:hover,.algo-rhythm-back:hover{color:var(--text-primary)}.algo-rhythm-empty{display:grid;place-items:center;min-height:300px;padding:44px;border:1px dashed #353535;border-radius:28px;text-align:center}.algo-rhythm-empty h2{margin:0 0 9px;font:800 27px Manrope}.algo-rhythm-empty p{margin:0;color:var(--text-secondary)}

.algo-rhythm-form-page{max-width:760px}.algo-rhythm-back{margin-bottom:28px;padding:6px 0;font-weight:700}.algo-rhythm-form-heading{margin-bottom:34px}.algo-rhythm-form-heading h1{font-size:clamp(42px,7vw,68px)}.algo-rhythm-form{display:grid}.algo-rhythm-form>label{margin:20px 0 8px;font-weight:700}.algo-rhythm-form input,.algo-rhythm-form textarea{width:100%;border:1px solid #3d3d3d;border-radius:16px;background:#0b0b0b;color:#fff;font:inherit}.algo-rhythm-form input{min-height:56px;padding:0 17px}.algo-rhythm-form textarea{min-height:105px;padding:15px 17px;resize:vertical}.algo-rhythm-form input:focus,.algo-rhythm-form textarea:focus{outline:2px solid var(--accent);border-color:transparent}.algo-rhythm-form [aria-invalid]{border-color:var(--accent)}.algo-rhythm-field-error{min-height:20px;margin:6px 0 0;color:var(--accent);font-size:13px}.algo-rhythm-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:32px 0 20px}.algo-rhythm-editor-heading h2{margin:0;font:800 25px Manrope}.algo-rhythm-editor-heading p{margin:4px 0 0;color:var(--text-secondary)}.algo-rhythm-editor-heading .secondary{min-height:42px}.algo-rhythm-editor{display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:center;gap:34px;padding:28px;border:1px solid var(--border-dark);border-radius:28px}.algo-rhythm-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}

.algo-rhythm-cube{--ar-size:54px;--ar-gap:6px;position:relative;display:grid;grid-template-columns:var(--ar-size) repeat(3,var(--ar-size)) var(--ar-size);grid-template-rows:var(--ar-size) repeat(3,var(--ar-size)) var(--ar-size) 22px;gap:var(--ar-gap);width:max-content;margin:auto;touch-action:none;user-select:none}.algo-rhythm-front{grid-column:2/5;grid-row:2/5;display:grid;grid-template-columns:repeat(3,var(--ar-size));gap:var(--ar-gap)}.algo-rhythm-strip{display:grid;gap:var(--ar-gap)}.algo-rhythm-strip-top{grid-column:2/5;grid-row:1;grid-template-columns:repeat(3,var(--ar-size))}.algo-rhythm-strip-bottom{grid-column:2/5;grid-row:5;grid-template-columns:repeat(3,var(--ar-size))}.algo-rhythm-strip-left{grid-column:1;grid-row:2/5;grid-template-rows:repeat(3,var(--ar-size))}.algo-rhythm-strip-right{grid-column:5;grid-row:2/5;grid-template-rows:repeat(3,var(--ar-size))}.algo-rhythm-sticker{display:block;width:var(--ar-size);height:var(--ar-size);padding:0;border:2px solid #464646;border-radius:11px;background:#191919}.algo-rhythm-cube button.algo-rhythm-sticker{cursor:pointer}.algo-rhythm-orientation{grid-column:2/5;grid-row:6;align-self:end;text-align:center;color:var(--text-secondary);font-size:11px;font-weight:800;letter-spacing:.15em}.algo-rhythm-color-W{background:var(--W)}.algo-rhythm-color-Y{background:var(--Y)}.algo-rhythm-color-G{background:var(--G)}.algo-rhythm-color-B{background:var(--B)}.algo-rhythm-color-R{background:var(--R)}.algo-rhythm-color-O{background:var(--O)}.algo-rhythm-color-empty{background:#191919}.algo-rhythm-palette{display:grid;gap:9px}.algo-rhythm-pick{position:relative;width:46px;height:46px;border:4px solid var(--surface);border-radius:50%;cursor:pointer}.algo-rhythm-pick.selected{outline:3px solid #fff;outline-offset:2px}.algo-rhythm-pick span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.algo-rhythm-pick.algo-rhythm-color-empty::after{content:'×';display:grid;place-items:center;height:100%;color:#aaa;font-size:22px}.algo-rhythm-cube-preview{--ar-size:14px;--ar-gap:2px;grid-template-rows:var(--ar-size) repeat(3,var(--ar-size)) var(--ar-size);margin:0}.algo-rhythm-cube-preview .algo-rhythm-sticker{border-width:1px;border-radius:3px}

.algo-rhythm-start{max-width:900px}.algo-rhythm-start-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:center;gap:54px}.algo-rhythm-start h1{overflow-wrap:anywhere;font-size:clamp(46px,7vw,76px)}.algo-rhythm-start .algo-rhythm-full-sequence{margin:16px 0 34px;font-size:18px}.algo-rhythm-start .algo-rhythm-cube{--ar-size:42px;--ar-gap:5px;margin-left:0}.algo-rhythm-speed-panel fieldset{display:grid;gap:9px;margin:0;padding:0;border:0}.algo-rhythm-speed-panel legend{margin-bottom:12px;font-weight:800}.algo-rhythm-speed{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:10px 15px;border:1px solid var(--border-dark);border-radius:15px;background:#171717;color:#fff;text-align:left;cursor:pointer}.algo-rhythm-speed span{color:var(--text-secondary);font-size:12px;text-align:right}.algo-rhythm-speed.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.algo-rhythm-start-button{width:100%;margin-top:20px}

.algo-rhythm-trainer{min-height:calc(100dvh - 240px);display:flex;flex-direction:column;align-items:center;overflow:hidden;text-align:center;cursor:pointer}.algo-rhythm-move-reel{flex:1;min-height:0;height:auto}.algo-rhythm-training-footer{width:100%;display:flex;flex-direction:column;align-items:flex-end;gap:18px;margin-top:auto}.algo-rhythm-stop{min-width:140px}.algo-rhythm-full-algorithm{align-self:center;width:min(280px,calc(100vw - 48px));margin:0;overflow-x:auto;overflow-y:hidden;color:var(--text-secondary);font:700 clamp(16px,2vw,22px)/1.35 Manrope,sans-serif;scrollbar-width:none;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);animation:algo-rhythm-sequence-in .55s ease-out both}.algo-rhythm-full-algorithm::-webkit-scrollbar{display:none}.algo-rhythm-algorithm-track{display:inline-flex;justify-content:flex-start;gap:.42em;min-width:max-content;padding-inline:18px;white-space:nowrap}.algo-rhythm-algorithm-track>span{color:inherit;transition:color .18s ease}.algo-rhythm-algorithm-track>span.is-current{color:var(--accent)}
@keyframes algo-rhythm-sequence-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.algo-rhythm-full-algorithm{animation:none}}
.algo-rhythm-move-reel .move.is-break{color:#fff;font-size:clamp(72px,14vw,128px);line-height:1;letter-spacing:.04em}
.algo-rhythm-move-reel .move-side.is-break{color:#fff;line-height:1;letter-spacing:.04em}

@media(max-width:800px){.algo-rhythm-card{grid-template-columns:86px minmax(0,1fr)}.algo-rhythm-card-actions{grid-column:1/-1;justify-content:flex-end}.algo-rhythm-editor{grid-template-columns:1fr}.algo-rhythm-palette{grid-template-columns:repeat(7,1fr);justify-self:center}.algo-rhythm-start-grid{grid-template-columns:1fr}.algo-rhythm-start .algo-rhythm-cube{margin-inline:auto}}
@media(max-width:700px){.algo-rhythm-page{min-height:calc(100dvh - 180px)}.algo-rhythm-page-header{align-items:flex-start;flex-direction:column;margin-bottom:28px}.algo-rhythm-page-header h1{font-size:52px}.algo-rhythm-card{grid-template-columns:70px minmax(0,1fr);gap:14px;padding:17px;border-radius:20px}.algo-rhythm-card h2{font-size:21px}.algo-rhythm-card-actions{justify-content:flex-start;flex-wrap:wrap}.algo-rhythm-empty{min-height:250px;padding:28px}.algo-rhythm-editor{padding:16px;gap:24px}.algo-rhythm-cube{--ar-size:min(13vw,48px);--ar-gap:4px}.algo-rhythm-palette{gap:6px}.algo-rhythm-pick{width:38px;height:38px}.algo-rhythm-form-actions{justify-content:flex-start}.algo-rhythm-start-grid{gap:32px}.algo-rhythm-start .algo-rhythm-cube{--ar-size:min(11vw,40px)}.algo-rhythm-current-move{min-height:210px}.algo-rhythm-trainer{min-height:calc(100dvh - 170px)}}
@media(max-width:380px){.algo-rhythm-palette{grid-template-columns:repeat(4,1fr)}.algo-rhythm-card-actions .primary,.algo-rhythm-card-actions .secondary{padding-inline:14px}.algo-rhythm-editor{padding-inline:10px}}

/* Overview nodes deliberately mirror the level map while keeping this mode isolated. */
.algo-rhythm-overview{position:relative;padding:28px 0 120px}.algo-rhythm-node-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:64px 76px}.algo-rhythm-node-wrap{position:relative;min-width:0}.algo-rhythm-node-wrap.has-popover{z-index:4}.algo-rhythm-node{width:100%;display:flex;align-items:center;gap:18px;padding:0;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}.algo-rhythm-node-icon{width:82px;height:82px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;border:6px solid #c22168;border-bottom-width:10px;border-radius:26px;background:var(--accent)}.algo-rhythm-node-icon .algo-rhythm-cube-preview{transform:scale(.66)}.algo-rhythm-node-copy{min-width:0}.algo-rhythm-node-copy b,.algo-rhythm-node-copy small{display:block;overflow-wrap:anywhere}.algo-rhythm-node-copy b{font-size:18px}.algo-rhythm-node-copy small{margin-top:5px;color:var(--text-secondary);font-size:14px}.algo-rhythm-add-bar{display:flex;justify-content:flex-end;margin-top:64px}.algo-rhythm-add{display:flex;width:max-content;margin:0}.algo-rhythm-popover{position:absolute;z-index:5;top:calc(100% + 22px);left:0;width:min(580px,calc(100vw - 80px));padding:28px;border:1px solid var(--border-dark);border-radius:28px;background:#171717;box-shadow:0 22px 60px #0008}.algo-rhythm-popover.popover-column-1{right:0;left:auto}.algo-rhythm-popover::before{content:'';position:absolute;top:-12px;left:31px;width:22px;height:22px;border-top:1px solid var(--border-dark);border-left:1px solid var(--border-dark);background:#171717;transform:rotate(45deg)}.algo-rhythm-popover.popover-column-1::before{left:201px}.algo-rhythm-popover .close-card{position:relative;z-index:1}.algo-rhythm-popover-content{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:22px}.algo-rhythm-popover-content .algo-rhythm-cube-preview{--ar-size:12px;--ar-gap:2px}.algo-rhythm-popover h2{overflow-wrap:anywhere;margin:4px 0 8px;font:800 31px Manrope,sans-serif}.algo-rhythm-popover p{overflow-wrap:anywhere;margin:0;color:var(--text-secondary)}.algo-rhythm-popover-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:26px;padding-top:22px;border-top:0}.algo-rhythm-popover-actions .primary,.algo-rhythm-popover-actions .secondary{min-height:48px}.algo-rhythm-popover-actions .algo-rhythm-delete{padding:12px}
@media(max-width:700px){.algo-rhythm-overview{padding-top:20px}.algo-rhythm-overview.has-open-popover{padding-bottom:var(--algo-popover-space,120px)}.algo-rhythm-node-grid{grid-template-columns:1fr;gap:44px}.algo-rhythm-node{max-width:320px}.algo-rhythm-node-icon{width:70px;height:70px;border-radius:23px}.algo-rhythm-popover,.algo-rhythm-popover.popover-column-1{right:auto;left:0;width:min(520px,calc(100vw - 64px));padding:22px}.algo-rhythm-popover.popover-column-1::before{left:25px}.algo-rhythm-popover-content{grid-template-columns:74px minmax(0,1fr);gap:15px}.algo-rhythm-popover h2{font-size:26px}.algo-rhythm-popover-actions{justify-content:flex-end;flex-wrap:wrap}.algo-rhythm-add-bar,.algo-rhythm-overview.has-open-popover .algo-rhythm-add-bar{position:fixed;z-index:20;right:0;bottom:var(--algo-add-bottom,0px);left:0;display:flex;justify-content:flex-end;margin:0;padding:18px 32px calc(18px + env(safe-area-inset-bottom));background:#000;border-top:1px solid #171717;box-shadow:0 -14px 34px #0008}.algo-rhythm-add.primary{background:#fff;color:#111;box-shadow:0 14px 36px #0009}}
.algo-rhythm-node-icon{position:relative;display:block}.algo-rhythm-node-icon .algo-rhythm-cube-preview{--ar-size:14px;--ar-gap:2px;position:absolute;top:calc(50% + 2px);left:50%;margin:0;transform:translate(-50%,-50%) scale(.66);transform-origin:center}

/* Compact setup controls live directly inside the level-style popover. */
.algo-rhythm-popover-speeds{display:block;margin:24px 0 0;padding:0;border:0}.algo-rhythm-popover-speeds legend{margin-bottom:12px;color:var(--text-secondary);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.algo-rhythm-speed-readout{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:12px}.algo-rhythm-speed-readout strong{font-size:17px}.algo-rhythm-speed-readout span{color:var(--text-secondary);font-size:12px;text-align:right}.algo-rhythm-speed-range{--range-progress:33.333%;display:block;width:100%;height:24px;margin:0;appearance:none;background:transparent;cursor:pointer}.algo-rhythm-speed-range::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:linear-gradient(to right,var(--accent) 0 var(--range-progress),#3b3b3b var(--range-progress) 100%)}.algo-rhythm-speed-range::-moz-range-track{height:6px;border-radius:99px;background:#3b3b3b}.algo-rhythm-speed-range::-moz-range-progress{height:6px;border-radius:99px;background:var(--accent)}.algo-rhythm-speed-range::-webkit-slider-thumb{width:22px;height:22px;margin-top:-8px;appearance:none;border:4px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #171717}.algo-rhythm-speed-range::-moz-range-thumb{width:14px;height:14px;border:4px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #171717}.algo-rhythm-speed-range:focus-visible{outline:0}.algo-rhythm-speed-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px #171717,0 0 0 6px var(--accent)}.algo-rhythm-speed-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px #171717,0 0 0 6px var(--accent)}.algo-rhythm-speed-scale{display:grid;grid-template-columns:repeat(4,1fr);margin-top:5px;color:#777;font-size:10px}.algo-rhythm-speed-scale span{text-align:center}.algo-rhythm-speed-scale span:first-child{text-align:left}.algo-rhythm-speed-scale span:last-child{text-align:right}

.algo-rhythm-orientation-screen{position:relative;display:flex;align-items:center;min-height:calc(100dvh - 180px);padding:32px 0}.algo-rhythm-orientation-content{display:flex;width:100%;flex-direction:column;align-items:flex-start;text-align:left}.algo-rhythm-orientation-content h1{max-width:780px;margin:12px 0 16px;font:800 clamp(50px,7vw,92px)/.95 Manrope,sans-serif;letter-spacing:-.055em}.algo-rhythm-orientation-moves{max-width:760px;margin:0 0 30px;color:var(--accent);font:800 clamp(23px,3vw,34px)/1.25 Manrope,sans-serif;overflow-wrap:anywhere}.algo-rhythm-orientation-content .algo-rhythm-cube{--ar-size:34px;--ar-gap:4px;margin:0 0 34px}.algo-rhythm-no-position{margin:12px 0 38px;color:var(--text-secondary);font-size:18px}.algo-rhythm-orientation-content>.primary{align-self:flex-end}

@media(max-width:700px){.algo-rhythm-speed-readout{align-items:flex-start;flex-direction:column;gap:3px}.algo-rhythm-speed-readout span{text-align:left}.algo-rhythm-speed-scale{font-size:9px}.algo-rhythm-orientation-screen{min-height:calc(100dvh - 150px);padding:22px 0}.algo-rhythm-orientation-content h1{font-size:clamp(42px,13vw,62px)}.algo-rhythm-orientation-moves{margin-bottom:24px}.algo-rhythm-orientation-content .algo-rhythm-cube{--ar-size:min(8.5vw,32px);--ar-gap:3px;margin:0 0 26px}.algo-rhythm-orientation-content>.primary{align-self:flex-end}}

/* Algo-rhythm nodes use the same restrained surface as locked level nodes. */
.algo-rhythm-node-icon{border-color:rgba(255,255,255,.16);background:#1b1b1b}
.algo-rhythm-node-icon .algo-rhythm-sticker{border-color:rgba(255,255,255,.34)}
.algo-rhythm-popover-content{grid-template-columns:minmax(0,1fr) 100px}.algo-rhythm-popover-content>.algo-rhythm-cube-preview{grid-column:2;grid-row:1}.algo-rhythm-popover-content>div{grid-column:1;grid-row:1}
.algo-rhythm-sequence-details{color:var(--text-secondary)}.algo-rhythm-sequence-details summary{display:block;list-style:none;overflow-wrap:anywhere;cursor:pointer}.algo-rhythm-sequence-details summary::-webkit-details-marker{display:none}.algo-rhythm-sequence-arrow{display:inline-block;width:8px;height:8px;margin:0 0 3px 5px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}.algo-rhythm-sequence-details[open] .algo-rhythm-sequence-arrow{margin-bottom:-1px;transform:rotate(225deg)}.algo-rhythm-sequence-full{display:none}.algo-rhythm-sequence-details[open] .algo-rhythm-sequence-short{display:none}.algo-rhythm-sequence-details[open] .algo-rhythm-sequence-full{display:inline}
.algo-rhythm-node-play{position:absolute;top:50%;left:50%;width:26px;height:26px;color:#fff;transform:translate(-50%,-50%)}
.algo-rhythm-popover-content.without-preview{grid-template-columns:1fr;padding-right:44px}

@media(max-width:700px){.algo-rhythm-node-icon{width:84px;height:84px;border-radius:27px}.algo-rhythm-node-icon .algo-rhythm-cube-preview{transform:translate(-50%,-50%) scale(.76)}.algo-rhythm-popover-content{grid-template-columns:minmax(0,1fr) 74px}}

.algo-rhythm-orientation-content h1{margin-bottom:34px}
.algo-rhythm-orientation-content .algo-rhythm-cube{align-self:center}
.algo-rhythm-orientation-content h1{font-size:clamp(42px,6vw,74px)}
@media(max-width:700px){.algo-rhythm-orientation-content h1{font-size:clamp(38px,11.5vw,54px)}}

.algo-rhythm-result h1{margin:18px 0 8px;font:800 clamp(54px,8vw,88px)/.95 Manrope,sans-serif;letter-spacing:-.055em}.algo-rhythm-practice-time{margin:24px 0 36px;color:var(--accent);font:800 clamp(72px,14vw,140px)/1 Manrope,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.06em}.algo-rhythm-result .button-row{justify-content:center}

/* The surrounding faces are foreshortened so the cube net reads spatially. */
.algo-rhythm-cube{--ar-side-size:calc(var(--ar-size) * .52);grid-template-columns:var(--ar-side-size) repeat(3,var(--ar-size)) var(--ar-side-size);grid-template-rows:var(--ar-side-size) repeat(3,var(--ar-size)) var(--ar-side-size) 22px}
.algo-rhythm-strip-top .algo-rhythm-sticker,.algo-rhythm-strip-bottom .algo-rhythm-sticker{width:var(--ar-size);height:var(--ar-side-size);border-radius:8px}
.algo-rhythm-strip-left .algo-rhythm-sticker,.algo-rhythm-strip-right .algo-rhythm-sticker{width:var(--ar-side-size);height:var(--ar-size);border-radius:8px}
.algo-rhythm-cube-preview{grid-template-rows:var(--ar-side-size) repeat(3,var(--ar-size)) var(--ar-side-size)}
.algo-rhythm-cube-preview .algo-rhythm-strip-top .algo-rhythm-sticker,.algo-rhythm-cube-preview .algo-rhythm-strip-bottom .algo-rhythm-sticker,.algo-rhythm-cube-preview .algo-rhythm-strip-left .algo-rhythm-sticker,.algo-rhythm-cube-preview .algo-rhythm-strip-right .algo-rhythm-sticker{border-radius:2px}

@media(max-width:700px){.algo-rhythm-form-actions{justify-content:flex-end}}

@media(min-width:1200px){
  .algo-rhythm-page.algo-rhythm-overview{max-width:1050px}
  .algo-rhythm-node-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap-inline:48px}
  .algo-rhythm-node-wrap:nth-child(3n) .algo-rhythm-popover{right:auto;left:calc(100% - 580px)}
  .algo-rhythm-node-wrap:nth-child(3n) .algo-rhythm-popover::before{right:auto;left:calc(610px - 100%)}
}

.algo-rhythm-arrow-layer{position:absolute;z-index:3;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.algo-rhythm-arrow-layer .algo-rhythm-arrow-outline{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round;opacity:.9}
.algo-rhythm-arrow-layer .algo-rhythm-arrow-line{fill:none;stroke:#111;stroke-width:3.5;stroke-linecap:round}
.algo-rhythm-arrow-layer .algo-rhythm-arrow-head-outline,.algo-rhythm-arrow-layer .algo-rhythm-arrow-tail-outline{fill:#fff;stroke:#fff;stroke-width:3;stroke-linejoin:round}
.algo-rhythm-arrow-layer .algo-rhythm-arrow-head,.algo-rhythm-arrow-layer .algo-rhythm-arrow-tail{fill:#111;stroke:#111;stroke-width:1;stroke-linejoin:round}
.algo-rhythm-cube-preview .algo-rhythm-arrow-outline{display:block;stroke:#fff;stroke-width:3}
.algo-rhythm-cube-preview .algo-rhythm-arrow-head-outline,.algo-rhythm-cube-preview .algo-rhythm-arrow-tail-outline{display:block;fill:#fff;stroke:#fff;stroke-width:1.5}
.algo-rhythm-cube-preview .algo-rhythm-arrow-line{stroke:#050505;stroke-width:1.5}
.algo-rhythm-cube-preview .algo-rhythm-arrow-head,.algo-rhythm-cube-preview .algo-rhythm-arrow-tail{fill:#050505;stroke:none}
.algo-rhythm-arrow-layer .algo-rhythm-arrow-tail-outline[hidden],.algo-rhythm-arrow-layer .algo-rhythm-arrow-tail[hidden]{display:none}
.algo-rhythm-arrow-layer .algo-rhythm-arrow[hidden]{display:none}
.algo-rhythm-arrow-layer.is-editable .algo-rhythm-arrow line{pointer-events:stroke;cursor:pointer}
.algo-rhythm-arrow-layer.is-editable .algo-rhythm-arrow:hover .algo-rhythm-arrow-outline{stroke:var(--accent)}
.algo-rhythm-cube button.algo-rhythm-sticker.is-arrow-source{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,59,145,.3)}

/* Positioned from the selected cube icon so every grid column points to its own box. */
.algo-rhythm-popover::before{left:var(--algo-popover-arrow-left,31px)!important}

/* Anchor popup bodies by their actual responsive grid column. */
.algo-rhythm-node-wrap:nth-child(odd)>.algo-rhythm-popover{right:auto!important;left:0!important}
.algo-rhythm-node-wrap:nth-child(even)>.algo-rhythm-popover{right:0!important;left:auto!important}
@media(min-width:1400px){
  .algo-rhythm-node-wrap:nth-child(3n + 1)>.algo-rhythm-popover{right:auto!important;left:0!important}
  .algo-rhythm-node-wrap:nth-child(3n + 2)>.algo-rhythm-popover,.algo-rhythm-node-wrap:nth-child(3n)>.algo-rhythm-popover{right:0!important;left:auto!important}
}
@media(max-width:700px){
  .algo-rhythm-node-wrap>.algo-rhythm-popover{right:auto!important;left:0!important}
}
.algo-rhythm-arrow-pick{display:grid;place-items:center;background:#191919;color:#fff}
.algo-rhythm-arrow-pick svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.2}

/* Keep an open card above the mobile sticky add action when they overlap. */
.algo-rhythm-node-wrap.has-popover{z-index:10}
.algo-rhythm-node-wrap.has-popover>.algo-rhythm-popover{z-index:11}

/* Mobile add action uses a real bar so the white button cannot inherit the bar color. */
@media(max-width:700px){
  .algo-rhythm-add.primary,.algo-rhythm-add.primary:hover,.algo-rhythm-add.primary:active,.algo-rhythm-add.primary:focus-visible{-webkit-appearance:none!important;appearance:none!important;display:inline-flex!important;min-width:max-content!important;min-height:56px!important;padding:0 26px!important;border:1px solid transparent!important;border-radius:999px!important;background-color:#fff!important;background-image:none!important;box-shadow:0 14px 36px #0009!important;color:#111!important;-webkit-text-fill-color:#111!important;opacity:1!important;visibility:visible!important}
  .algo-rhythm-add.primary span{display:block!important;color:#111!important;-webkit-text-fill-color:#111!important;opacity:1!important}
}
