.gesture-studio{--ink:#e9f4f8;--muted:#a9becb;--panel:#132331;--edge:#2a4254;--accent:#62dfd0;max-width:1440px;margin:0 auto;padding:1.5rem;color:var(--ink);background:#0b1722;border-radius:1rem;font-size:1rem}.gesture-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.gesture-header h1{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:750;margin:0}.gesture-eyebrow{font-size:.875rem;color:var(--accent);margin:0 0 .2rem}.gesture-badge{font-size:.875rem;background:#233c47;border:1px solid #4b747f;border-radius:2rem;padding:.5rem .8rem}.gesture-workspace{display:grid;grid-template-columns:minmax(0,1fr)320px;gap:1rem}.gesture-stage{position:relative;border:1px solid var(--edge);border-radius:.75rem;overflow:hidden;background:#081019;min-width:0}.gesture-canvas{height:500px;min-height:360px}.gesture-canvas canvas{width:100%;height:100%;display:block;touch-action:none}.gesture-stage-label{position:absolute;top:1rem;left:1rem;right:1rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem;pointer-events:none}.gesture-stage-label button{pointer-events:auto}.gesture-status{min-height:3.5rem;margin:0;padding:.75rem 1rem;color:var(--muted);font-size:.875rem;border-top:1px solid var(--edge)}.gesture-controls,.gesture-author,.curb-workshop{padding:1.25rem;border:1px solid var(--edge);border-radius:.75rem;background:var(--panel)}.gesture-studio h2{font-size:1.2rem;font-weight:700;margin:0 0 .9rem}.gesture-studio p{line-height:1.55}.gesture-studio label{display:block;font-size:.875rem;margin:.85rem 0 .4rem;color:var(--muted)}.gesture-studio select,.gesture-studio textarea,.gesture-studio input[type=number]{display:block;width:100%;border:1px solid #456071;border-radius:.4rem;color:var(--ink);background:#0b1924;padding:.65rem;margin-top:.4rem;font:inherit}.gesture-studio input[type=range]{width:100%;accent-color:var(--accent);margin:.6rem 0}.gesture-studio output{float:right;color:var(--ink);font-variant-numeric:tabular-nums}.gesture-studio button,.gesture-upload{cursor:pointer;border:1px solid #456071;border-radius:.4rem;padding:.6rem .9rem;background:#1b3647;color:var(--ink);font-size:.875rem;font-weight:650}.gesture-studio button[data-play],.gesture-studio button[data-apply]{background:var(--accent);color:#08232a;border-color:var(--accent)}.gesture-studio button:disabled{opacity:.45;cursor:wait}.gesture-studio button:hover:not(:disabled){filter:brightness(1.15)}.gesture-studio :focus-visible{outline:3px solid #ffc679;outline-offset:3px}.gesture-buttons{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.8rem 0}.gesture-note{border-left:3px solid #f9ba62;padding:.2rem .75rem;color:#f4d8ae;font-size:.875rem;margin:1rem 0}.gesture-studio a{color:var(--accent);text-decoration:underline;text-underline-offset:.2rem}.gesture-author{display:grid;grid-template-columns:minmax(0,1.7fr)minmax(260px,1fr);gap:1.5rem;margin-top:1rem}.gesture-author textarea{height:320px;resize:vertical;font-family:ui-monospace,SFMono-Regular,monospace;font-size:.875rem;line-height:1.5;tab-size:2}.gesture-author p,.gesture-footnote{color:var(--muted);font-size:.875rem}.gesture-upload{margin:0!important;position:relative;overflow:hidden}.gesture-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;max-width:100%}.gesture-footnote{margin-top:1rem}.gesture-studio [hidden]{display:none!important}.curb-workshop{margin-top:1rem;scroll-margin-top:6rem}.curb-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.curb-heading p{max-width:720px;color:var(--muted)}.curb-heading .gesture-badge{white-space:nowrap}.curb-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.curb-layout textarea{height:380px;font:.875rem/1.5 ui-monospace,SFMono-Regular,monospace;resize:vertical}.curb-layout p{font-size:.875rem;color:var(--muted)}.curb-layout input[type=checkbox]{accent-color:var(--accent);margin-right:.4rem}.curb-state{padding:.8rem;background:#0b1924;border:1px solid var(--edge);min-height:4rem}.curb-layout ol{list-style:decimal;padding-left:1.5rem}.curb-layout li{padding:.45rem .5rem;color:var(--muted);font-size:.875rem}.curb-layout .is-active{background:#244753;color:#cffff6;border-radius:.3rem}.curb-layout .is-done{color:#73ccb9}@media(max-width:800px){.curb-layout{grid-template-columns:1fr}.curb-heading{display:block}.curb-heading .gesture-badge{display:inline-block;margin-bottom:1rem}}@media(max-width:980px){.gesture-workspace{grid-template-columns:1fr}.gesture-controls{display:block}.gesture-canvas{height:480px}}@media(max-width:640px){.gesture-studio{padding:.75rem;border-radius:0}.gesture-header{display:block}.gesture-badge{display:inline-block;margin-top:.6rem}.gesture-author{grid-template-columns:1fr}.gesture-canvas{height:400px}.gesture-stage-label{position:static;padding:.6rem}.gesture-controls,.gesture-author{padding:1rem}}