:root{--paper:#060b1c;--ink:#eef1ff;--muted:#99a2c8;--line:#1d2650;--accent:#818cf8;--dark:#0c1330;--light:#eef1ff;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;--sans:Inter,'Helvetica Neue',Arial,sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}button svg{width:20px;height:20px;fill:currentColor}.wrap{max-width:1336px;padding:0 36px;margin:0 auto}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:0;font-size:26px;font-weight:700;letter-spacing:-1.2px}.brand-dot{color:var(--accent)}.brand-light{font-weight:450}nav{display:flex;align-items:center;gap:34px;font-size:13px}nav>a:hover{color:var(--accent)}.coming{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.coming i{width:6px;height:6px;background:var(--accent);border-radius:50%}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;padding-top:24px;padding-bottom:36px}.eyebrow{font:10px var(--mono);letter-spacing:1.7px;color:var(--muted);margin-bottom:16px}h1{font-size:clamp(32px,3.8vw,54px);line-height:1.07;letter-spacing:-2.5px;font-weight:650}h1>span{color:var(--accent)}.intro-copy{font-size:14px;line-height:1.85;padding-bottom:3px}.intro-copy>span{color:var(--muted);font-size:12px}.average-heading{border-top:1px solid var(--line);padding:23px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.average-title{display:flex;align-items:center;gap:13px}.event-icon{width:39px;height:39px;display:grid;place-items:center;border:1px solid #1d2650;border-radius:9px;font:12px var(--mono)}.average-title h2{font-size:17px;font-weight:620;letter-spacing:-.35px}.average-title h2 span{font:16px var(--mono);margin-left:12px}.average-title p{font-size:11px;color:var(--muted);margin-top:6px}.preview-label{font:9px var(--mono);letter-spacing:.7px;color:var(--muted);display:flex;gap:15px;align-items:center}.preview-label>span{padding:7px 9px;border:1px solid var(--line);border-radius:4px;color:#5eead4;letter-spacing:0}.viewer{border:1px solid #1d2650;border-radius:15px;overflow:hidden;background:var(--dark);color:var(--light);box-shadow:0 15px 45px #00000030;scroll-margin-top:24px}.solve-tabs{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid #1d2650}.solve-tabs button{background:none;border:0;border-right:1px solid #1d2650;color:var(--light);display:flex;align-items:center;gap:12px;min-width:0;padding:17px 20px;position:relative}.solve-tabs button:last-child{border-right:0}.solve-tabs button>span:first-child{color:#99a2c8;font:10px var(--mono)}.solve-tabs strong{font:21px var(--mono);font-weight:500;letter-spacing:-.6px}.solve-tabs strong small{font-size:10px;padding-left:3px;color:#99a2c8}.solve-tabs .tab-result{margin-left:auto;font-size:9px;color:#5eead4;white-space:nowrap}.solve-tabs .unfinished{color:#fbbf24}.solve-tabs button[aria-pressed=true]{background:#192044}.solve-tabs button[aria-pressed=true]:after{content:'';position:absolute;height:3px;background:#818cf8;bottom:0;left:0;right:0}.solve-tabs button:hover{background:#151c3d}.stage{display:grid;grid-template-columns:1.28fr 1fr}.footage{background:#030611;min-width:0;display:flex;flex-direction:column;justify-content:center;position:relative}.panel-heading{height:49px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;padding:0 19px;color:#99a2c8}.footage>.panel-heading{position:absolute;left:0;right:0;top:0;z-index:1;background:linear-gradient(#0009,transparent);color:#fff;text-shadow:0 1px 3px #000}.panel-heading>span:first-child{display:flex;align-items:center;gap:7px}.panel-heading>span:last-child{font:9px var(--mono);opacity:.75}.record-dot{background:#e76240;width:5px;height:5px;border-radius:50%}.footage video{width:100%;aspect-ratio:16/9;display:block}.replay-panel{background:radial-gradient(ellipse at 50% 45%,#142343,#08102a 90%);color:var(--ink);border-left:1px solid #1d2650;display:flex;flex-direction:column}.replay-panel .panel-heading{color:#99a2c8}.perspectives{display:flex;border:1px solid #303d65;border-radius:6px;padding:3px;gap:2px}.perspectives button{border:0;background:none;color:#99a2c8;font-size:10px;padding:5px 9px;border-radius:3px}.perspectives button[aria-pressed=true]{background:#26345a;color:#eef1ff;box-shadow:0 1px 5px #00000020}.cube-stage{position:relative;display:grid;place-items:center;flex:1;min-height:240px;overflow:hidden}.cube-stage:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#818cf825 .6px,transparent .6px);background-size:16px 16px;mask-image:radial-gradient(ellipse,#000,transparent 70%);pointer-events:none}#cube{display:block;width:min(74%,310px);height:auto;aspect-ratio:1;position:relative;margin-top:-20px;margin-bottom:0}.axis-note{position:absolute;bottom:17px;left:19px;font:8px var(--mono);letter-spacing:1px;color:#99a2c8}.move-readout{position:absolute;bottom:13px;right:20px;text-align:right}.move-readout strong{font:26px var(--mono);display:block;line-height:1.2}.move-readout span{font:9px var(--mono);color:#99a2c8;display:block;margin-top:5px}.transport{display:flex;align-items:center;gap:13px;padding:14px 19px;border-top:1px solid #1d2650}.transport[hidden]{display:none}.transport button{border:0;color:var(--light);background:none;flex-shrink:0}.transport .play{background:#4f46e5;color:#ffffff;border-radius:7px;width:34px;height:32px;display:grid;place-items:center}.step{font-size:21px;width:22px;padding:0;color:#99a2c8!important}.clock{font:10px var(--mono);white-space:nowrap;min-width:79px}.clock span{color:#99a2c8}input[type=range]{accent-color:#818cf8;min-width:50px;flex:1;height:3px;cursor:pointer}select{color:var(--light);background:#08102a;border:1px solid #303d65;padding:6px 5px;font:11px var(--mono);border-radius:5px}.transport .average-play{font-size:10px;border-left:1px solid #303d65;padding:5px 0 5px 17px}.average-play span{margin-left:7px;color:#818cf8}.average-play[aria-pressed=true]{color:#818cf8}.notation-panel{padding:17px 20px;border-top:1px solid #1d2650}.notation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font:9px var(--mono);color:#99a2c8;margin-bottom:13px;letter-spacing:.55px}.notation-heading>span:last-child{font-family:var(--sans);letter-spacing:0;display:flex;align-items:center;gap:6px}.notation-heading i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#a78bfa}.moves{display:flex;flex-wrap:wrap;gap:4px;min-height:60px;max-height:112px;overflow:auto;scrollbar-color:#46517d transparent}.moves button{border:1px solid transparent;border-radius:4px;padding:5px 7px;font:13px var(--mono);background:none;color:#b0b9da;min-width:27px}.moves button:hover{border-color:#818cf8}.moves .rotation{color:#a78bfa;background:#a78bfa12}.moves button.past{color:#eef1ff}.moves button.active{background:#818cf8;color:#060b1c}.moves .rotation.active{background:#a78bfa;color:#060b1c}.viewer-footer{padding:11px 20px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #1d2650;font-size:10px;color:#99a2c8;min-height:36px}.timing{font:8px var(--mono);letter-spacing:.6px;white-space:nowrap}.preview-details{display:flex;justify-content:space-between;align-items:start;gap:40px;margin-top:17px;font-size:11px;line-height:1.8;color:var(--muted)}.preview-details p{max-width:720px}.preview-details strong{color:var(--ink);font-weight:600}.preview-details a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px;color:var(--ink)}.preview-details a span{margin-left:6px}.method-note{font-size:10px;color:var(--muted);margin-top:13px}.method-note summary{cursor:pointer;width:fit-content}.method-note p{max-width:800px;line-height:1.8;padding-top:10px}.about{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:100px;padding-bottom:90px}.about h2{font-size:40px;letter-spacing:-1.6px;line-height:1.1;font-weight:550}.about-heading>p:last-child{color:var(--muted);font-size:13px;line-height:1.8;max-width:355px;margin-top:20px}.steps article{display:flex;gap:25px;border-top:1px solid var(--line);padding:22px 0}.steps article>span{font:11px var(--mono);color:var(--accent);padding-top:4px}.steps h3{font-size:15px;font-weight:550}.steps p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:8px;max-width:360px}.release{border-top:1px solid var(--line);padding-top:52px;padding-bottom:58px;position:relative}.release h2{font-size:36px;letter-spacing:-1.4px;line-height:1.15;margin-top:18px;font-weight:550}.release p{font-size:12px;color:var(--muted);max-width:340px;line-height:1.8;margin-top:14px}.release>a{position:absolute;right:36px;bottom:64px;background:#4f46e5;color:#ffffff;padding:13px 18px;border-radius:6px;font-size:12px}.release>a span{margin-left:25px}footer{border-top:1px solid var(--line);padding-top:27px!important;padding-bottom:27px!important;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}footer .brand{color:var(--ink);font-size:17px;gap:0}footer p{font-family:var(--mono)}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
@media(min-width:1500px){.intro{padding-top:36px;padding-bottom:42px}}
@media(max-width:1100px){.solve-tabs button{padding:15px 13px;gap:7px}.solve-tabs .tab-result{font-size:8px}.intro-copy{font-size:12px}.stage{grid-template-columns:1.25fr 1fr}#cube{width:min(82%,290px)}.preview-label{flex-direction:column;align-items:end;gap:5px}.average-title h2{font-size:15px}.average-title h2 span{font-size:14px}.about{gap:50px}.clock{min-width:70px}.transport{gap:10px}}
@media(max-width:760px){.wrap{padding-left:20px;padding-right:20px}.site-header{height:72px}.brand{font-size:21px}nav{gap:16px}nav>a{display:none}.intro{padding-top:10px;padding-bottom:24px;gap:18px;display:block}h1{font-size:38px;letter-spacing:-1.8px}.intro-copy{margin-top:15px;font-size:12px;line-height:1.7}.intro-copy br{display:none}.intro-copy>span{display:block;font-size:11px}.eyebrow{font-size:9px;margin-bottom:13px}.average-heading{padding-top:18px}.average-title{gap:10px}.event-icon{display:none}.average-title h2{font-size:14px}.average-title h2 span{display:block;margin:6px 0 0;font-size:14px}.average-title p{font-size:9px;max-width:230px;line-height:1.5}.preview-label{font-size:7px;text-align:right;gap:8px}.preview-label>span{font-size:9px}.solve-tabs button{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 8px;padding:12px 4px 10px}.solve-tabs strong{font-size:16px}.solve-tabs strong small{display:none}.solve-tabs button>span:first-child{font-size:8px}.solve-tabs .tab-result{width:100%;margin:0;font-size:8px}.stage{grid-template-columns:1fr}.replay-panel{border-left:0;border-top:1px solid #1d2650}.cube-stage{min-height:220px;max-height:235px}#cube{width:260px;margin-top:-35px}.replay-panel .panel-heading{height:43px;position:relative;z-index:1}.panel-heading{padding:0 15px}.transport{padding:13px 14px;gap:10px;flex-wrap:wrap}.transport input{order:2;flex-basis:100%;margin:7px 0 2px}.clock{margin-right:auto}.transport .average-play{font-size:9px;padding-left:12px}.transport .play{width:30px;height:30px}.step{width:18px}.notation-panel{padding:15px}.notation-heading{font-size:8px;gap:8px}.notation-help{display:none}.moves{max-height:145px;gap:3px}.moves button{font-size:12px;padding:5px 6px}.viewer-footer{padding:12px 15px;gap:14px;font-size:9px;line-height:1.6}.timing{font-size:7px;margin-top:3px}.preview-details{display:block;font-size:10px;line-height:1.8}.preview-details a{display:inline-block;margin-top:10px}.method-note{font-size:10px}.about{grid-template-columns:1fr;padding-top:65px;padding-bottom:45px;gap:32px}.about h2{font-size:34px}.about-heading>p:last-child{max-width:440px;font-size:12px}.steps article{padding:18px 0}.release{padding-top:36px;padding-bottom:36px}.release h2{font-size:31px}.release>a{position:static;display:inline-block;margin-top:24px}footer{flex-wrap:wrap;gap:20px}footer p{display:none}footer>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Light and geometry behind the replay, in the Flowtimer palette. */
body{min-height:100vh;background:radial-gradient(ellipse 80% 650px at 78% 0%,#34307655,transparent 75%),radial-gradient(ellipse 60% 800px at 0% 55%,#17476535,transparent 75%),#060b1c;position:relative;isolation:isolate}
body:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#818cf80a 1px,transparent 1px),linear-gradient(90deg,#818cf80a 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(#000,transparent 85%)}
.intro{padding-top:28px;padding-bottom:40px}
h1{font-size:clamp(36px,4.3vw,62px);line-height:1.08;font-weight:620}
h1:focus{outline:none}
.average-heading{border-top:0;padding-top:8px}
.viewer{border-color:#818cf83b;box-shadow:0 24px 80px #0005,0 0 90px #6366f110}
.preview-details{font-size:12px;margin-top:18px}
.method-note{font-size:11px}
.notation-heading{font-family:var(--sans);font-size:11px;letter-spacing:0}
.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px;padding-top:64px;padding-bottom:64px}
.about h2{font-size:32px;letter-spacing:-1px}
.about>p{max-width:470px;font-size:15px;line-height:1.8;color:var(--muted)}
@media(max-width:760px){.intro{padding-top:16px;padding-bottom:30px}h1{font-size:36px;letter-spacing:-1.7px}.preview-details{font-size:11px}.about{grid-template-columns:1fr;gap:18px;padding-top:44px;padding-bottom:44px}.about h2{font-size:28px}.about>p{font-size:13px}.solve-tabs .unfinished{font-size:7px;white-space:normal}.preview-label>span{font-size:8px}}

.site-header .flowtimer-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.site-header .flowtimer-link:hover{color:var(--ink)}

/* A single continuous move tape, centered on the playback clock. */
.notation-panel{padding-left:0;padding-right:0}
.notation-heading{padding:0 20px;margin-bottom:10px}
.move-tape{position:relative}
.move-tape:before{content:'';position:absolute;top:0;left:50%;width:1px;height:5px;background:var(--accent);pointer-events:none}
.moves{position:relative;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-height:64px;max-height:none;overflow-x:auto;overflow-y:hidden;padding:12px calc(50% - 22px);scrollbar-width:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.moves::-webkit-scrollbar{display:none}
.moves button{flex:0 0 44px;min-width:44px;padding:8px 0;font-size:17px;line-height:24px;text-align:center}
@media(max-width:760px){.notation-panel{padding:13px 0}.notation-heading{padding:0 15px}.moves{gap:8px;min-height:64px;max-height:none}.moves button{font-size:17px;padding:8px 0}}

.showcase{padding-bottom:44px}.source-note{margin-top:16px}.source-note summary{font-size:11px}.source-note a{text-decoration:underline;text-underline-offset:3px}
/* Product detail below the live reconstruction. */
.product-section{padding-top:64px;padding-bottom:64px}.product-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:30px}.product-section h2{font-size:clamp(26px,3vw,36px);font-weight:580;letter-spacing:-1.1px;line-height:1.2}.product-label{font-size:11px;color:var(--muted)}.preparation-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}.preparation-preview{background:#0c1330;border:1px solid #818cf838;border-radius:14px;overflow:hidden;box-shadow:0 20px 70px #0003;transform:rotate(-1deg)}.prep-file{display:flex;justify-content:space-between;padding:15px 18px;font:11px var(--mono);color:var(--muted)}.prep-frame{position:relative}.prep-frame img{width:100%;display:block}.prep-mask{position:absolute;left:75%;top:80%;width:9%;height:17%;border:1px solid #fbbf24;background:repeating-linear-gradient(135deg,#060b1c80 0 4px,#fbbf2450 4px 6px);color:#fcd58a;font:9px var(--mono);padding:3px}.prep-timing{padding:18px}.prep-timing>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:#a5b4fc}.prep-track{height:28px;position:relative;margin:12px 0;background:repeating-linear-gradient(90deg,#273353 0 22px,#111b35 22px 25px);border-radius:4px}.prep-track>span{position:absolute;inset:0 12% 0 17%;border-top:2px solid #a5b4fc;border-bottom:2px solid #a5b4fc;background:#818cf829}.prep-track i{position:absolute;top:-3px;bottom:-3px;left:17%;width:7px;border-radius:3px;background:#a5b4fc}.prep-track i:last-child{left:auto;right:12%}.prep-timing p{font:10px var(--mono);color:var(--muted);text-align:center}.prep-timing p span{padding:0 12px;color:#818cf8}.preparation-copy article+article{margin-top:26px}.product-section h3{font-size:17px;letter-spacing:-.2px;font-weight:560}.preparation-copy p,.scramble-options p{font-size:14px;line-height:1.8;color:var(--muted);margin-top:9px;max-width:470px}.product-prototype-link{display:inline-flex;align-items:center;gap:30px;border:1px solid #818cf866;background:#818cf810;border-radius:7px;padding:12px 16px;font-size:13px;margin-top:28px}.product-prototype-link:hover{background:#818cf824}.product-prototype-link span{color:var(--accent)}.prototype-caption{display:block;font-size:10px;color:var(--muted);margin-top:10px}.scramble-section{border-top:1px solid var(--line)}.scramble-options{display:grid;grid-template-columns:1fr 1fr;gap:24px}.scramble-options article{padding:28px;border:1px solid #818cf82c;border-radius:12px;background:linear-gradient(145deg,#141d39,#0a1225)}.scramble-example{font:clamp(18px,2.5vw,30px) var(--mono);letter-spacing:1px;color:#c7d2fe;margin:34px 0}.scramble-example span{color:#7c88b6}.inspection-example{display:flex;align-items:center;gap:18px;height:36px;margin:32px 0;font:12px var(--mono);color:#5eead4}.inspection-example i{height:6px;flex:1;background:repeating-linear-gradient(90deg,#5eead444 0 6px,#5eead411 6px 10px);border-radius:5px}.inspection-example span:last-child{color:var(--accent)}.scramble-options .option-note{font-size:12px;color:#b2b9d7}.questions-section{display:grid;grid-template-columns:1fr 1.5fr;gap:64px;border-top:1px solid var(--line);padding-bottom:80px}.product-questions details{border-bottom:1px solid var(--line);padding:19px 0}.product-questions details:first-child{padding-top:0}.product-questions summary{font-size:15px;cursor:pointer;line-height:1.5}.product-questions p{font-size:13px;color:var(--muted);line-height:1.8;margin-top:14px;max-width:560px}
@media(max-width:760px){.product-section{padding-top:38px;padding-bottom:38px}.product-section-heading{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:24px}.preparation-layout,.scramble-options,.questions-section{grid-template-columns:1fr;gap:28px}.preparation-preview{transform:none}.preparation-copy p,.scramble-options p{font-size:13px}.product-section h3{font-size:16px}.scramble-options article{padding:22px}.scramble-example{font-size:24px}.questions-section{padding-bottom:48px}.product-questions summary{font-size:14px}}

.brand .brand-mark{display:block;width:44px;height:44px;flex-shrink:0;margin-right:5px}footer .brand .brand-mark{width:32px;height:32px;margin-right:4px}@media(max-width:650px){.site-header .brand .brand-mark{width:32px;height:32px;margin-right:3px}.site-header nav{gap:12px}}

.site-header nav .upload-nav-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;background:#4f46e5;border-radius:7px;color:#fff;font-size:12px;white-space:nowrap}@media(max-width:380px){.site-header nav{gap:7px}.site-header nav .upload-nav-link{padding:8px;font-size:11px}.site-header .flowtimer-link{font-size:11px}}

/* Product status stays attached to the wordmark in both headers. */
.brand-identity{display:inline-flex;align-items:center;gap:9px}
.brand-preview{display:inline-flex;align-items:center;padding:4px 6px;border:1px solid #a5a7ff38;border-radius:5px;background:#8d8aff14;color:#b9b5ff;font-family:var(--sans);font-size:9px;font-weight:600;line-height:1;letter-spacing:.8px;text-transform:uppercase;white-space:nowrap}
@media(max-width:760px){.brand-identity{flex-direction:column;align-items:flex-start;gap:4px}.brand-preview{padding:3px 5px;font-size:8px;letter-spacing:.7px}}
