:root{--rm-ink:#192d38;--rm-cream:#f4efd8;--rm-mint:#8dd9c2;--rm-yellow:#f4cf58;--rm-lilac:#b6a1d7;--rm-pink:#e4a7c7;--rm-blue:#394f90}
@media(min-width:1100px){html .composition.has-slots,html.board-enlarged .composition.has-slots{width:calc(100% - 225px);max-width:1280px;margin:28px auto 42px;position:relative;left:-78px;zoom:1;min-height:calc(100svh - 70px);height:auto;grid-template-rows:minmax(330px,1fr) 190px 190px}}
.roadmap-spine{position:fixed;right:25px;top:28px;bottom:40px;width:145px;background:var(--rm-yellow);color:var(--rm-ink);border:1px solid var(--rm-cream);box-shadow:10px 10px 0 #9d894a;display:flex;align-items:center;flex-direction:column;padding:20px 12px 15px;cursor:pointer;z-index:5;transition:translate .22s ease;font-family:Supreme,sans-serif}
.roadmap-spine:before,.roadmap-step:before{content:'';position:absolute;inset:3px;border:1px solid #f4efd8a0;pointer-events:none}
.roadmap-spine:hover{translate:-4px 0}.spine-top{font-size:10px;font-weight:800;letter-spacing:.08em;align-self:stretch;display:flex;justify-content:space-between}.spine-top span{font-size:22px;line-height:12px}
.roadmap-spine>strong{font-family:Bowlby,sans-serif;font-size:53px;writing-mode:vertical-rl;transform:rotate(180deg);margin:auto 0;line-height:1.1}.spine-note{font-size:13px;line-height:1.25;text-align:left;align-self:flex-start;margin:18px 4px}.spine-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:100%;margin-bottom:19px}.spine-tabs i{font-style:normal;font-size:11px;padding:6px 0;background:var(--rm-mint);border:1px solid #192d3850}.spine-tabs i:nth-child(2){background:var(--rm-blue);color:var(--rm-cream)}.spine-tabs i:nth-child(3){background:var(--rm-lilac)}.spine-tabs i:nth-child(4){background:var(--rm-pink)}.spine-tabs i:nth-child(5){background:var(--rm-mint)}.spine-tabs i:nth-child(6){background:var(--rm-ink);color:var(--rm-cream)}.spine-bottom{font-size:9px;font-weight:800;border-top:1px solid #192d3860;padding-top:12px;width:100%}
#roadmap-dialog{width:min(1250px,calc(100vw - 64px));max-width:none;max-height:calc(100svh - 48px);padding:0;border:1px solid var(--rm-cream);color:var(--rm-cream);background:#242735;box-shadow:10px 10px 0 #10172280;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--rm-mint) #242735}
#roadmap-dialog::backdrop{background:#171b29c9;backdrop-filter:blur(5px)}#roadmap-dialog[open]{animation:roadmap-in .3s ease-out}.roadmap-paper{padding:28px}.roadmap-header{display:flex;justify-content:space-between;gap:20px;margin-bottom:26px}.roadmap-kicker{font-size:10px!important;font-weight:800;letter-spacing:.12em;color:var(--rm-mint);margin:0 0 12px!important}.roadmap-header h1{font-family:Bowlby,sans-serif;font-size:clamp(32px,4vw,50px);font-weight:400;line-height:1.2;margin:0 0 12px}.roadmap-header h1 span{font-family:Supreme,sans-serif;font-size:17px;display:inline-block;color:var(--rm-yellow);margin-left:12px}.roadmap-header p{font-size:14px;margin:0;line-height:1.4}.roadmap-close{flex:none;width:42px;height:42px;background:var(--rm-mint);border:1px solid var(--rm-cream);box-shadow:3px 3px 0 #537c70;color:var(--rm-ink);font-size:27px;cursor:pointer}
.roadmap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.roadmap-step{position:relative;isolation:isolate;padding:20px 22px 23px;color:var(--rm-ink);background:var(--rm-yellow);box-shadow:6px 7px 0 color-mix(in srgb,var(--card-color,var(--rm-yellow)) 55%,#172b36);border:1px solid var(--rm-cream);overflow:hidden;min-height:257px}.step-cap{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.09em;margin-bottom:15px}.step-cap>span+span{font-size:24px;line-height:15px}.roadmap-step h2{font-family:Bowlby,sans-serif;font-weight:400;font-size:clamp(23px,2.4vw,32px);line-height:1.18;margin:0 0 18px;position:relative;z-index:1}.roadmap-step ul{padding:0;list-style:none;margin:0;position:relative;z-index:1}.roadmap-step li{font-size:14px;line-height:1.45;padding-left:15px;position:relative;margin:7px 0}.roadmap-step li:before{content:'↳';position:absolute;left:0;opacity:.65}.step-2{background:var(--rm-blue);--card-color:var(--rm-blue);color:var(--rm-cream)}.step-3{background:var(--rm-mint);--card-color:var(--rm-mint)}.step-4{background:var(--rm-pink);--card-color:var(--rm-pink)}.step-5{background:var(--rm-lilac);--card-color:var(--rm-lilac)}.step-6{background:#203f46;--card-color:#203f46;color:var(--rm-cream)}.step-6 h2{font-size:56px;color:var(--rm-mint);margin-bottom:8px}.redacted{letter-spacing:-.1em;white-space:nowrap;max-width:100%;display:inline-block;overflow:hidden;vertical-align:bottom}.step-doodle{position:absolute;right:4px;top:27px;font-family:Bowlby;font-size:85px;opacity:.075;transform:rotate(-10deg);z-index:0}.classified-stamp{display:block;position:absolute;right:18px;bottom:23px;transform:rotate(-7deg);border:1px solid #8dd9c270;color:#8dd9c2b0;font-size:10px;padding:7px}.roadmap-footer{display:flex;justify-content:space-between;gap:20px;margin-top:28px;border-top:1px solid #f4efd838;padding-top:20px;font-size:13px}.roadmap-footer strong{font-weight:600}.roadmap-footer p{margin:6px 0 0;opacity:.65}.roadmap-footer em{font-style:normal;color:var(--rm-yellow)}.roadmap-footer a{color:var(--rm-mint);text-decoration:none;text-align:right;line-height:1.7}.roadmap-footer a span{display:block;color:var(--rm-cream)}.roadmap-spine:focus-visible,.roadmap-close:focus-visible{outline:3px dashed var(--rm-cream);outline-offset:4px}
@keyframes roadmap-in{from{opacity:0;translate:30px 0}to{opacity:1;translate:0 0}}
@media(min-width:1550px){.roadmap-spine{right:max(28px,calc((100vw - 1610px)/2))}}
@media(max-width:1099px){.roadmap-spine{position:relative;inset:auto;width:calc(100% - 48px);margin:0 24px 32px;min-height:100px;padding:18px 22px;display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left}.roadmap-spine>strong{writing-mode:horizontal-tb;transform:none;margin:0;font-size:32px;grid-row:2}.spine-note{grid-column:2;grid-row:2;margin:0}.spine-tabs{display:none}.spine-bottom{grid-column:1/-1;padding-top:8px}.spine-top{grid-column:1/-1}.roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#roadmap-dialog{width:calc(100vw - 28px);max-height:calc(100svh - 28px)}.roadmap-paper{padding:18px 15px 22px}.roadmap-grid{grid-template-columns:1fr;gap:17px}.roadmap-header h1{font-size:32px}.roadmap-header h1 span{font-size:14px;margin:8px 0 0;display:block}.roadmap-kicker{font-size:8px!important;line-height:1.6!important}.roadmap-header{gap:10px}.roadmap-header p{font-size:13px}.roadmap-close{width:34px;height:34px}.roadmap-step{min-height:0;padding:22px}.roadmap-step h2{font-size:28px}.roadmap-footer{flex-direction:column}.roadmap-footer a{text-align:left}.classified-stamp{bottom:30px}}
@media(prefers-reduced-motion:reduce){#roadmap-dialog[open]{animation:none}.roadmap-spine{transition:none}}
/* Second pass: the roadmap is a real movable case in the existing board. */
/* Bound the hero row: zooming out increases svh but must not stretch only this row. */
html .composition.has-slots,html.board-enlarged .composition.has-slots{left:auto;zoom:1;width:calc(100% - 70px);max-width:1500px;margin:28px auto 42px;min-height:0;grid-template-columns:minmax(230px,28fr) minmax(0,64fr) minmax(130px,12fr);grid-template-rows:clamp(340px,calc(100svh - 490px),520px) 190px 190px}
.composition.has-slots>.block-slot:nth-child(7){grid-column:3;grid-row:1/4}
.roadmap-tile{background:#f1ce59;color:var(--rm-ink);padding:0;display:flex}
.roadmap-tile>.side-label{background:#f8e59c;color:var(--rm-ink)}
.roadmap-tile:before{background:#9c884f}.roadmap-tile:after{background:#b29b58}
.roadmap-tile .roadmap-spine{position:relative;inset:auto;width:100%;height:100%;min-height:0;margin:0;box-shadow:none;border:0;background:none;display:flex;flex-direction:column;padding:20px 12px;translate:none;z-index:1;gap:0}
.roadmap-spine:before{display:none}.roadmap-spine:hover{background:#ffe58255}.roadmap-spine>strong{font-size:clamp(32px,4vw,52px);margin:auto 0}.spine-top{font-size:8px}.spine-note{font-size:12px}.spine-bottom{font-size:8px}.spine-tabs{display:grid}
#roadmap-dialog{border:0;background:transparent;box-shadow:none;width:min(1310px,calc(100vw - 60px));overflow:visible;max-height:calc(100svh - 44px)}
.roadmap-paper{background:#252836;border:1px solid #f4efd87a;box-shadow:10px 11px 0 #111a2380;max-height:calc(100svh - 44px);overflow:auto;padding:28px 34px 28px 46px;scrollbar-width:thin;scrollbar-color:var(--rm-mint) #252836;position:relative}
.roadmap-header h1{font-size:48px}.roadmap-kicker{color:var(--rm-mint)}
.roadmap-grid{gap:25px 34px;padding:0 10px 9px 21px}
.roadmap-step{padding:19px 19px 20px;border:0;overflow:visible;box-shadow:none;min-height:262px;margin:0;background:var(--card-color,var(--rm-yellow))}
.roadmap-step:before{inset:auto;left:100%;top:0;bottom:-10px;width:10px;border:0;background:color-mix(in srgb,var(--card-color,var(--rm-yellow)) 55%,#172b36);clip-path:polygon(0 0,100% 10px,100% 100%,0 calc(100% - 10px))}
.roadmap-step:after{content:'';position:absolute;left:-23px;right:-10px;height:10px;top:100%;background:color-mix(in srgb,var(--card-color,var(--rm-yellow)) 65%,#172b36);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 100%,10px 100%)}
.step-rail{position:absolute;right:100%;top:0;height:100%;width:23px;background:color-mix(in srgb,var(--card-color,var(--rm-yellow)) 65%,#fff);color:var(--rm-ink);display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;font-weight:750;letter-spacing:.04em;border-left:1px solid #f4efd890}
.step-rail:after{content:'⠿';position:absolute;bottom:7px;writing-mode:horizontal-tb;opacity:.4;font-size:14px}
.step-outline{position:absolute;inset:0;width:100%;height:100%;color:var(--rm-cream);pointer-events:none}
.step-cap{font-size:9px;letter-spacing:.07em;margin-bottom:16px}.roadmap-step h2{font-size:29px}.roadmap-step li{font-size:14px;line-height:1.45}.step-doodle{display:none}.step-6 h2{font-size:57px}.classified-stamp{border:1px dashed #8dd9c280;padding:6px 9px;bottom:20px}
.roadmap-footer{margin-top:22px}
@media(max-width:1099px) and (min-width:761px){html .composition.has-slots,html.board-enlarged .composition.has-slots{grid-template-columns:29% 1fr;grid-template-rows:340px 190px 190px 130px}.composition.has-slots>.block-slot:nth-child(7){grid-area:4/1/5/3}}
@media(max-width:1099px){.roadmap-tile .roadmap-spine{display:grid;grid-template-columns:1fr auto;gap:8px;padding:16px 20px}.roadmap-spine>strong{font-size:32px;writing-mode:horizontal-tb;transform:none;grid-row:2;margin:0}.spine-note{grid-column:2;grid-row:2;margin:0}.spine-tabs{display:none}.spine-top{grid-column:1/-1}.spine-bottom{display:none}.roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){html .composition.has-slots,html.board-enlarged .composition.has-slots{width:calc(100% - 38px);margin:20px 24px 32px 14px;grid-template-columns:1fr;grid-template-rows:170px 310px 260px 220px 170px 160px 130px}.composition.has-slots>.block-slot:nth-child(n){grid-area:auto}}
@media(max-width:600px){#roadmap-dialog{width:calc(100vw - 30px)}.roadmap-paper{padding:20px 20px 24px}.roadmap-header h1{font-size:32px}.roadmap-grid{grid-template-columns:1fr;gap:24px;padding-left:21px;padding-right:9px}.roadmap-step{min-height:0;padding:20px 16px}.roadmap-step h2{font-size:26px}.roadmap-step li{font-size:14px}.step-6{min-height:250px}.step-6 h2{font-size:54px}.roadmap-header h1 span{font-size:13px}.roadmap-footer{font-size:12px}}
#roadmap-dialog{background:#252836;overflow:auto;box-shadow:10px 11px 0 #111a2380;border:1px solid #f4efd87a;scrollbar-width:thin;scrollbar-color:var(--rm-mint) #252836}
.roadmap-paper{border:0;box-shadow:none;overflow:visible;max-height:none}
#roadmap-dialog[open]{animation:none}
/* Preserve the six existing mobile footprints and reserve a seventh for Roadmap. */
@media(max-width:760px){html .composition.has-slots,html.board-enlarged .composition.has-slots{grid-template-rows:140px 320px 140px 220px 150px 220px 130px}}
@media(max-width:440px){html .composition.has-slots,html.board-enlarged .composition.has-slots{grid-template-rows:140px 320px 160px calc(100vw - 58px + 190px) 150px 220px 130px}}
@media(max-width:1099px){.roadmap-tile .roadmap-spine{grid-template-rows:1fr;align-items:center}.roadmap-spine>strong,.spine-note{grid-row:1}.roadmap-tile .spine-note{align-self:center;justify-self:stretch;text-align:right}}
/* The artwork follows the case height even during a resize or layout transition. */
@media(max-width:760px){
 .composition .about-tile[data-shape],.roadmap-tile .roadmap-spine{
  padding:18px 20px;display:grid;grid-template-columns:minmax(160px,.9fr) minmax(0,1.2fr);
  column-gap:24px;align-items:center;align-content:center;
 }
 .roadmap-tile .roadmap-spine>strong{font-size:clamp(28px,4.5vw,32px)}
 .roadmap-tile .spine-note{justify-self:stretch;text-align:right}
}
@media(max-width:440px){
 .composition .about-tile[data-shape],.roadmap-tile .roadmap-spine{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;row-gap:10px}
 .roadmap-tile .roadmap-spine>strong{grid-area:1/1}
 .roadmap-tile .spine-note{grid-area:2/1}
 .roadmap-tile .spine-note br{display:none}
}
@media(max-width:760px){
 .composition .roll-tile[data-shape] .roll-identity{
  height:100%;max-height:100cqh;aspect-ratio:auto;align-self:stretch;
 }
}
/* Use the studio's display face without synthetic bold from the strong tag. */
.roadmap-spine>strong,.roadmap-header h1,.roadmap-step h2{
 font-family:Bowlby,Supreme,sans-serif;font-weight:400;font-synthesis:none;
 letter-spacing:0;line-height:1.14;
}
.roadmap-header h1 span{letter-spacing:normal;line-height:1.4}
.roadmap-tile .roadmap-spine>strong{letter-spacing:.015em}
.roadmap-tile .spine-note{
 font-family:Supreme,Arial,sans-serif;font-size:14px;font-weight:400;
 line-height:1.35;letter-spacing:normal;
}
/* Fit all seven cases together, including their bevels, on roomy/zoomed-out viewports. */
@media(min-width:1190px){
 html.board-enlarged .composition.has-slots{
  width:1186px;max-width:none;min-height:0;height:auto;left:-6.5px;
  grid-template-rows:340px 190px 190px;zoom:var(--board-scale);
  margin:calc((100svh / var(--board-scale) - 779px) / 2) auto;
 }
}
@media(min-width:1100px){
 .roadmap-tile .roadmap-spine{padding-inline:8px}
 .roadmap-tile .roadmap-spine>strong{
  position:absolute;left:50%;top:50%;width:max-content;margin:0;
  writing-mode:horizontal-tb;transform:translate(-50%,-50%) rotate(-90deg);
  white-space:nowrap;
 }
 .roadmap-tile .spine-note{margin:auto 0 18px;align-self:center;text-align:right}
}
/* Match the Crits room: individual cases over the blurred homepage. */
#roadmap-dialog{
 width:min(1240px,calc(100vw - 64px));max-height:calc(100dvh - 48px);
 padding:0 12px 12px 0;border:0;background:transparent;box-shadow:none;
 overflow:auto;scrollbar-width:none;scrollbar-gutter:auto;
}
#roadmap-dialog::-webkit-scrollbar{display:none;width:0;height:0}
#roadmap-dialog::backdrop{background:rgb(37 38 52 / 80%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.roadmap-paper{padding:0;background:transparent;border:0;box-shadow:none;overflow:visible}
.roadmap-header{
 position:relative;isolation:isolate;background:#203f46;padding:22px 64px 24px 42px;
 margin:0 0 26px;min-width:0;
}
.roadmap-header::before{
 content:'';position:absolute;z-index:-1;inset:0 -10px -10px 0;background:#4e746e;
 clip-path:polygon(calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px),calc(100% - 10px) calc(100% - 10px));
}
.roadmap-header-rail{
 position:absolute;inset:0 auto 0 0;width:22px;background:#8ddbc3;color:#1c2939;
 display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);
 font-size:10px;font-weight:800;letter-spacing:.04em;
}
.roadmap-header-outline{left:22px;width:calc(100% - 22px)}
.roadmap-close{position:absolute;right:12px;top:12px;width:36px;height:36px;z-index:2;font-size:24px}
.roadmap-grid{padding:0 0 0 23px;gap:26px 43px}
.roadmap-step{padding:19px 18px 21px;min-width:0}
.roadmap-header h1{font-size:44px}
.roadmap-header h1 span{font-size:16px}
@media(max-width:1100px){#roadmap-dialog{width:calc(100vw - 40px)}}
@media(max-width:620px){
 #roadmap-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
 .roadmap-header{padding:22px 52px 23px 36px}
 .roadmap-header h1{font-size:32px;overflow-wrap:anywhere}
 .roadmap-header h1 span{display:block;margin:8px 0 0;font-size:13px}
 .roadmap-header p{font-size:13px}
 .roadmap-header-rail{width:18px;font-size:9px}
 .roadmap-header-outline{left:18px;width:calc(100% - 18px)}
 .roadmap-grid{grid-template-columns:1fr}
}
/* Little physical jokes, contained inside the existing cases. */
.roadmap-header .roadmap-hint{margin-top:12px;font-size:11px;color:var(--rm-mint);opacity:.8}
.roadmap-step .step-rail{appearance:none;border:0;border-left:1px solid #f4efd890;border-radius:0;padding:0;font-family:Supreme,sans-serif;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.roadmap-step.rm-is-dragging{z-index:20;filter:drop-shadow(0 12px 9px #101b2940)}
.roadmap-step.rm-is-dragging .step-rail{cursor:grabbing}
.roadmap-step.rm-is-drop-target .step-outline{color:var(--rm-ink);stroke-dasharray:5 4}
.roadmap-step .step-rail[aria-pressed=true]{outline:2px dashed var(--rm-ink);outline-offset:-4px}
.rm-poke,.rm-heading-button,.rm-crit-dock,.rm-secret{appearance:none;border:0;border-radius:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.step-cap .rm-poke{display:grid;place-items:center;width:32px;height:32px;margin:-8px -6px -8px 0;font-size:24px;line-height:1;position:relative;z-index:3;transform:none;transition:none}
.step-cap .rm-poke:hover{transform:none}
.rm-poke svg{width:25px;height:25px;pointer-events:none;transition:transform .18s ease}
.rm-poke:hover svg{transform:rotate(-10deg)}
.step-cap .rm-cap-badge{display:grid;place-items:center;width:32px;height:32px;margin:-8px -6px -8px 0;font-size:0;line-height:1;flex:none}
.rm-cap-icon{display:block;width:25px;height:25px;pointer-events:none}
.rm-heading-button{text-align:left;letter-spacing:inherit;line-height:inherit;display:block}
.roadmap-step button:focus-visible{outline:2px dashed currentColor;outline-offset:4px}
.roadmap-step.step-1{padding-bottom:95px}
.rm-crit-dock{position:absolute;bottom:1px;right:17px;width:84px;height:60px;overflow:hidden;z-index:3}
.rm-crit-dock img{display:block;width:78px;height:auto;margin:0 auto;transform:translateY(53px) rotate(-5deg);transform-origin:bottom center;transition:transform .65s cubic-bezier(.4,0,.2,1);pointer-events:none}
.rm-crit-dock.is-peeking img{transform:translateY(3px) rotate(-5deg)}
.rm-crit-dock.is-peeking.is-shy img{transform:translateY(22px) rotate(-5deg)}
.rm-bubble{position:absolute;right:17px;bottom:18px;z-index:6;padding:6px 9px;background:var(--rm-yellow);color:var(--rm-ink);border:1px solid var(--rm-ink);box-shadow:2px 3px 0 #192d3840;font:700 11px/1.25 Supreme,sans-serif;pointer-events:none}
.step-1 .rm-bubble{bottom:64px;right:14px;background:var(--rm-lilac)}
.step-6 .rm-bubble{bottom:66px}
.rm-dice-clip{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:4}
.rm-die{position:absolute;top:0;right:22px;width:46px;height:49px;filter:drop-shadow(2px 4px 0 #192d3828)}
.rm-secret{position:relative;line-height:1;isolation:isolate;max-width:100%;vertical-align:bottom;overflow:visible;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.rm-secret.is-pulling{cursor:grabbing;z-index:5}
.rm-secret-size{display:block;visibility:hidden;overflow:hidden;letter-spacing:-.1em;max-width:100%}
.rm-secret-back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--rm-ink);font:800 12px/1 Supreme,sans-serif;letter-spacing:.03em;pointer-events:none}
.rm-secret-cover{position:absolute;inset:0;background:var(--rm-ink);box-shadow:0 0 0 1px var(--rm-ink);pointer-events:none;transform-origin:center}
.roadmap-feedback{position:sticky;bottom:16px;z-index:25;width:max-content;max-width:90%;margin:0 auto;height:0;transform:translateY(-28px);pointer-events:none;font:700 12px/1.3 Supreme,sans-serif;color:var(--rm-ink)}
.roadmap-feedback:not(:empty){height:auto;padding:8px 13px;margin-top:-32px;background:var(--rm-mint);border:1px solid var(--rm-cream);box-shadow:3px 3px 0 #192d3850}
@media(prefers-reduced-motion:reduce){.rm-crit-dock img,.rm-poke svg{transition:none}.rm-poke:hover svg{transform:none}}
