:root{color:#f2efe6;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#f2efe6;--ink-dim:#a8a59a;--floor:#0d1014;--panel:#161a20eb;--line:#f2efe61f;--lime:#c8f542;--teal:#5eead4;--coral:#ff6b6b;--amber:#f4a261;--shadow:0 24px 60px #00000073;background:#0d1014;font-family:Sora,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--floor);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--ink-dim)}.app-shell{background:radial-gradient(80% 50% at 10% -10%,#c8f54229,#0000 50%),radial-gradient(60% 40% at 95% 5%,#5eead41a,#0000 45%),radial-gradient(circle at 50% 120%,#ff6b6b14,#0000 40%),linear-gradient(#12161c 0%,#0d1014 40%,#0a0c10 100%);min-height:100vh;padding:20px}.app-nav{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(1280px,100%);box-shadow:var(--shadow);background:#0d1014b8;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;margin:0 auto 22px;padding:10px 12px;display:grid}.brand{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:inline-flex}.brand-mark{background:var(--lime);color:#10140a;border-radius:10px;place-items:center;width:40px;height:40px;font-family:Archivo Black,sans-serif;font-size:1.2rem;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.14em;font-family:Archivo Black,sans-serif;font-size:.95rem}.brand small{color:var(--ink-dim);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.path-tabs{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.tab{color:var(--ink-dim);background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 12px;font-size:.85rem;font-weight:600;transition:color .16s,background .16s,border-color .16s}.tab:hover,.tab.active{color:var(--ink);border-color:var(--line);background:#f2efe60f}.tab.active{color:var(--lime);border-color:#c8f54259}.nav-end{color:var(--ink-dim);justify-self:end;align-items:center;gap:8px;font-size:.78rem;display:inline-flex}.live-dot{background:var(--lime);border-radius:50%;width:8px;height:8px;animation:2.2s ease-out infinite pulse-dot;box-shadow:0 0 #c8f54280}@keyframes pulse-dot{0%{box-shadow:0 0 #c8f54273}70%{box-shadow:0 0 0 12px #c8f54200}to{box-shadow:0 0 #c8f54200}}.eyebrow{color:var(--lime);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:6px;margin:0 0 10px;font-size:.78rem;font-weight:600;display:inline-flex}.floor-home{grid-template-rows:auto auto;grid-template-columns:1.15fr .85fr;align-content:start;gap:28px 36px;width:min(1280px,100%);min-height:calc(100vh - 120px);margin:0 auto;padding:28px 8px 48px;display:grid;position:relative;overflow:hidden}.hero-plane{pointer-events:none;z-index:0;width:min(640px,70vw);height:min(640px,70vw);position:absolute;inset:-10% -5% auto auto}.cypher-ring{border:1px solid #c8f5422e;border-radius:50%;position:absolute;inset:10%}.ring-a{border-style:dashed;animation:28s linear infinite spin-slow}.ring-b{border-color:#5eead433;animation:18s linear infinite reverse spin-slow;inset:22%}.floor-grain{filter:blur(.2px);background:radial-gradient(circle at 40% 40%,#c8f5421f,#0000 55%),repeating-conic-gradient(#f2efe608 0deg 3deg,#0000 3deg 9deg);border-radius:50%;position:absolute;inset:18%}@keyframes spin-slow{to{transform:rotate(360deg)}}.hero-copy{z-index:1;grid-area:1/1;max-width:34rem;padding-top:24px;animation:.7s cubic-bezier(.22,1,.36,1) both rise-in;position:relative}.brand-hero{letter-spacing:-.02em;text-transform:uppercase;margin:0 0 14px;font-family:Archivo Black,sans-serif;font-size:clamp(3.2rem,8vw,5.6rem);line-height:.92}.hero-line{color:var(--ink-dim);max-width:28rem;margin:0 0 22px;font-size:1.05rem;line-height:1.55}.hero-actions{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.primary-action,.ghost-action,.complete-action,.icon-action,.toggle,.back-link,.text-link,.move-go{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;transition:transform .14s,background .16s,border-color .16s;display:inline-flex}.primary-action{background:var(--lime);color:#10140a;border:0;padding:12px 18px;font-weight:700}.primary-action:hover{background:#d6ff63;transform:translateY(-1px)}.ghost-action{color:var(--ink);border-color:var(--line);background:0 0;padding:12px 16px}.ghost-action:hover{background:#f2efe60a;border-color:#f2efe647}.progress-inline{color:var(--ink-dim);align-items:center;gap:10px;font-size:.85rem;display:inline-flex}.path-rail{z-index:1;grid-area:1/2/span 2;align-content:start;gap:12px;padding-top:12px;animation:.8s cubic-bezier(.22,1,.36,1) 80ms both rise-in;display:grid;position:relative}.path-tile{text-align:left;border:1px solid var(--line);color:var(--ink);background:linear-gradient(135deg,#161a20f2,#101318e6);border-radius:16px;grid-template-rows:auto auto auto;grid-template-columns:auto 1fr;gap:2px 14px;padding:18px 18px 16px;transition:border-color .18s,transform .18s;display:grid;box-shadow:0 10px 30px #00000040}.path-tile:hover{border-color:color-mix(in srgb, var(--path-accent) 55%, transparent);transform:translate(-3px)}.path-order{color:var(--path-accent);grid-row:1/span 3;align-self:center;font-family:Archivo Black,sans-serif;font-size:1.4rem}.path-tile strong{font-size:1.15rem}.path-tagline{color:var(--ink-dim);font-size:.88rem}.path-meta{color:var(--ink-dim);margin-top:4px;font-size:.75rem}.origin-note{z-index:1;grid-area:2/1;max-width:28rem;padding-top:8px;animation:.9s cubic-bezier(.22,1,.36,1) .12s both rise-in;position:relative}.origin-note h2{letter-spacing:.06em;text-transform:uppercase;color:var(--teal);margin:0 0 8px;font-family:Archivo Black,sans-serif;font-size:1rem}.origin-note p{color:var(--ink-dim);margin:0;font-size:.92rem;line-height:1.55}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.path-view,.practice-panel{width:min(1280px,100%);margin:0 auto;animation:.42s cubic-bezier(.22,1,.36,1) both rise-in}.back-link,.text-link{color:var(--ink-dim);background:0 0;border:0;padding:0;font-size:.88rem;font-weight:600}.back-link:hover,.text-link:hover{color:var(--ink)}.path-header{border-bottom:1px solid var(--line);margin:18px 0 24px;padding-bottom:18px}.path-header h1{letter-spacing:-.02em;text-transform:uppercase;color:var(--path-accent);margin:0 0 10px;font-family:Archivo Black,sans-serif;font-size:clamp(2.4rem,5vw,3.6rem)}.path-header p:last-child{max-width:40rem;color:var(--ink-dim);margin:0;line-height:1.55}.move-list{gap:10px;display:grid}.move-row{text-align:left;border:1px solid var(--line);background:var(--panel);width:100%;color:var(--ink);border-radius:14px;grid-template-columns:110px 1fr auto;align-items:center;gap:16px;padding:18px;display:grid}.move-row:hover{border-color:#c8f54259}.move-level{letter-spacing:.08em;text-transform:uppercase;color:var(--lime);font-size:.75rem;font-weight:700}.move-copy{gap:6px;display:grid}.move-copy strong{align-items:center;gap:8px;font-size:1.1rem;display:inline-flex}.done-icon{color:var(--lime)}.move-copy>span:first-of-type{color:var(--ink-dim);font-size:.9rem;line-height:1.45}.move-meta{color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:8px;font-size:.78rem;display:inline-flex}.move-go{border:1px solid var(--line);color:var(--ink);padding:8px 14px;font-size:.82rem;font-weight:600}.move-row:hover .move-go{background:var(--lime);color:#10140a;border-color:#0000}.practice-nav{justify-content:space-between;margin-bottom:12px;display:flex}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.topbar h1{letter-spacing:-.02em;text-transform:uppercase;margin:0 0 8px;font-family:Archivo Black,sans-serif;font-size:clamp(2rem,4vw,2.8rem)}.topbar p:last-child{max-width:40rem;color:var(--ink-dim);margin:0;line-height:1.5}.progress-chip{border:1px solid var(--line);color:var(--ink-dim);white-space:nowrap;background:#161a20e6;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.progress-chip.done{color:#10140a;background:var(--lime);border-color:#0000}.workspace{grid-template-columns:240px minmax(0,1fr) 250px;align-items:start;gap:14px;display:grid}.context-panel,.studio,.coach-panel{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:16px}.context-block+.context-block{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.context-block h2,.coach-block h2,.studio-copy h2{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 8px;font-size:.78rem}.context-block p,.coach-block li,.context-block li{color:var(--ink-dim);margin:0;font-size:.88rem;line-height:1.45}.context-block.safety h2{color:var(--amber);align-items:center;gap:6px;display:inline-flex}.context-block ul,.coach-block ul{gap:6px;margin:0;padding-left:1.1rem;display:grid}.chip-row{flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.chip-row li{border:1px solid var(--line);background:#f2efe60a;border-radius:999px;padding:5px 10px;color:var(--ink)!important;font-size:.75rem!important}.studio{gap:14px;display:grid}.session-strip{border:1px solid var(--line);background:#f2efe60a;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:20px;padding:14px;display:grid}.session-strip>div:first-child span,.session-strip>div:last-child>span{color:var(--ink-dim);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:.68rem;display:block}.session-strip strong{color:var(--lime);font-size:1.35rem}.tempo-steps{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.tempo-step{border:1px solid var(--line);min-height:44px;color:var(--ink-dim);background:0 0;border-radius:9px;font-weight:700}.tempo-step.active:not(:disabled){background:var(--teal);color:#10140a;border-color:#0000}.tempo-step:disabled{opacity:.35}.hold-block strong{color:var(--ink);font-family:Archivo Black,sans-serif;font-size:clamp(2.4rem,8vw,4rem);line-height:1;display:block}.hold-block p{color:var(--ink-dim);margin:6px 0 12px;font-size:.88rem}.hold-block .primary-action{width:100%;min-height:64px}.studio-copy h2{letter-spacing:0;text-transform:none;color:var(--ink);font-family:Archivo Black,sans-serif;font-size:1.4rem}.studio-copy p{color:var(--ink-dim);margin:0;line-height:1.45}.level-pill{color:var(--lime);letter-spacing:.08em;text-transform:uppercase;background:#c8f5421f;border-radius:999px;margin-bottom:8px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-block}.floor-wrap{padding:0;position:relative}.stage-3d{touch-action:none;border-radius:16px;height:clamp(320px,42vw,480px);overflow:hidden}.stage-3d canvas{display:block;width:100%!important;height:100%!important}.cypher-floor{aspect-ratio:1;background:radial-gradient(circle,#c8f54214,#0000 42%),radial-gradient(circle,#1a1f27 0%,#10141a 70%);border:1px solid #c8f54238;border-radius:50%;width:min(100%,360px);position:relative;overflow:hidden;box-shadow:inset 0 0 40px #00000073}.cypher-floor.mirror,.cypher-floor.mirror .count-badge,.cypher-floor.mirror .support-badge{transform:scaleX(-1)}.beat-ring{border:1px dashed #f2efe61f;border-radius:50%;animation:1.8s ease-in-out infinite pulse-ring;position:absolute;inset:12%}@keyframes pulse-ring{0%,to{opacity:.45;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}}.floor-pad{background:#f2efe60f;border:1px solid #f2efe61a;border-radius:50%;width:42px;height:42px;transition:background .16s,border-color .16s,box-shadow .16s;position:absolute}.floor-pad.lit{border-color:var(--lime);background:#c8f54247;box-shadow:0 0 24px #c8f54259}.floor-pad.north{top:14%;left:50%;transform:translate(-50%)}.floor-pad.south{bottom:14%;left:50%;transform:translate(-50%)}.floor-pad.west{top:50%;left:14%;transform:translateY(-50%)}.floor-pad.east{top:50%;right:14%;transform:translateY(-50%)}.floor-pad.center{width:54px;height:54px;top:50%;left:50%;transform:translate(-50%,-50%)}.count-badge{z-index:2;background:#0d1014d1;border:1px solid #c8f54259;border-radius:50%;place-items:center;width:72px;height:72px;display:grid;position:absolute;top:18px;left:18px;transform:none}.count-badge span{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);font-size:.65rem}.count-badge strong{color:var(--lime);font-family:Archivo Black,sans-serif;font-size:1.65rem;line-height:1}.support-badge{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;z-index:2;background:#5eead426;border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:700;position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.cue-strip{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.cue{border:1px solid var(--line);color:var(--lime);background:#f2efe60a;border-radius:12px;align-items:flex-start;gap:8px;padding:10px;display:flex}.cue span{color:var(--ink-dim);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;display:block}.cue strong{color:var(--ink);margin-top:2px;font-size:.86rem;font-weight:600;display:block}.coach-panel{gap:14px;display:grid}.controls{gap:8px;display:flex}.controls .primary-action{flex:1}.icon-action{border-color:var(--line);width:46px;color:var(--ink);background:0 0}.bpm-control{color:var(--ink-dim);gap:8px;font-size:.85rem;display:grid}.bpm-control span{align-items:center;gap:6px;display:inline-flex}.bpm-control strong{color:var(--ink)}.bpm-control input{width:100%;accent-color:var(--lime)}.toggle-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.toggle{border-color:var(--line);color:var(--ink-dim);background:0 0;padding:10px;font-size:.82rem;font-weight:600}.toggle.active{color:#10140a;background:var(--teal);border-color:#0000}.complete-action{width:100%;color:var(--lime);background:0 0;border-color:#c8f54266;padding:12px;font-weight:700}.complete-action:hover{background:#c8f5421f}@media (width<=1100px){.workspace{grid-template-columns:1fr 1fr}.context-panel{grid-column:1/-1;grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.context-block+.context-block{border-top:0;margin-top:0;padding-top:0}}@media (width<=860px){.app-nav{grid-template-columns:1fr;justify-items:start}.path-tabs{justify-content:flex-start}.nav-end{justify-self:start}.floor-home{grid-template-rows:auto;grid-template-columns:1fr}.hero-copy,.path-rail,.origin-note{grid-area:auto/1}.hero-plane{opacity:.55}.move-row{grid-template-columns:1fr;gap:10px}.workspace,.context-panel,.cue-strip{grid-template-columns:1fr}}
