*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at top,#050816 0,#020617,#000);color:#e5e7eb}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem;padding:2rem}.app-header{text-align:center}.cube-section{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.cube-section--layout{flex-direction:row;align-items:flex-start;justify-content:center;gap:2rem;max-width:1120px}.snapshot-preview{max-width:640px;max-height:160px;padding:.75rem 1rem;border-radius:.5rem;background:#0f172ad9;border:1px solid rgba(148,163,184,.5);font-size:.75rem;overflow:auto}.cube-scene{width:220px;height:220px;perspective:700px}.cube-orbit{width:100%;height:100%;position:relative;transform-style:preserve-3d;animation:cube-orbit 40s linear infinite;cursor:grab}.cube-orbit:active{cursor:grabbing}.cube-orbit--paused{animation-play-state:paused}.cube{width:100%;height:100%;position:relative;transform-style:preserve-3d}@keyframes cube-orbit{0%{transform:rotateX(-24deg) rotateY(32deg) rotate(0)}50%{transform:rotateX(24deg) rotateY(212deg) rotate(5deg)}to{transform:rotateX(-24deg) rotateY(392deg) rotate(-5deg)}}.cube-face{position:absolute;width:200px;height:200px;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#020617;border:2px solid #020617;background:linear-gradient(135deg,#38bdf8,#22c55e);background:radial-gradient(circle at 30% 20%,#e5e7eb 0,transparent 35%),radial-gradient(circle at 80% 80%,#0f172a 0,transparent 45%),linear-gradient(135deg,var(--face-color, #38bdf8),#22c55e);opacity:.94}.cube-face--front{transform:translate(-50%,-50%) translateZ(100px)}.cube-face--back{transform:translate(-50%,-50%) rotateY(180deg) translateZ(100px)}.cube-face--right{transform:translate(-50%,-50%) rotateY(90deg) translateZ(100px)}.cube-face--left{transform:translate(-50%,-50%) rotateY(-90deg) translateZ(100px)}.cube-face--top{transform:translate(-50%,-50%) rotateX(90deg) translateZ(100px)}.cube-face--bottom{transform:translate(-50%,-50%) rotateX(-90deg) translateZ(100px)}.cube-controls{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:none;font-size:.8rem}.cube-control-row{display:flex;align-items:center;gap:.75rem}.cube-control-row label{min-width:4.5rem;color:#d1d5db}.cube-control-row input[type=range]{flex:1}.cube-layout-main{display:flex;flex-direction:column;align-items:center;gap:1rem}.cube-legend{margin-top:.5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;font-size:.75rem}.cube-legend-item{display:flex;align-items:center;gap:.5rem}.cube-legend-swatch{width:14px;height:14px;border-radius:999px;border:1px solid rgba(15,23,42,.9)}.cube-sidebar{width:260px;max-width:100%;padding:.75rem 1rem;border-radius:.75rem;background:#0f172ad9;border:1px solid rgba(148,163,184,.5)}.cube-sidebar--controls{align-self:stretch}.cube-sidebar--acts{align-self:stretch;max-height:360px;display:flex;flex-direction:column;gap:.75rem}.sidebar-heading{margin:0;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#9ca3af}.sidebar-subtext{margin:.25rem 0 .5rem;font-size:.75rem;color:#9ca3af}.acts-ticker{width:100%;max-width:none;max-height:220px;padding:.75rem 1rem;border-radius:.75rem;background:#0f172ad9;border:1px solid rgba(148,163,184,.5);overflow-y:auto}.acts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.act-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,3fr);gap:.5rem;align-items:center;font-size:.75rem}.act-bot{font-weight:600;color:#e5e7eb}.act-position{color:#9ca3af}.act-color{display:inline-flex;align-items:center;gap:.4rem}.act-color-swatch{width:14px;height:14px;border-radius:999px;border:1px solid rgba(15,23,42,.9)}.act-color-hex{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.7rem}.act-manifesto{color:#e5e7eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acts-raw-preview{width:100%;max-width:640px}.acts-raw-preview>summary{cursor:pointer;font-size:.8rem;color:#9ca3af}.acts-filters{width:100%;max-width:720px;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem;font-size:.8rem}.acts-filter{display:flex;flex-direction:column;gap:.25rem;min-width:0}.acts-filter label{color:#d1d5db}.acts-filter input,.acts-filter select{background-color:#0f172acc;border-radius:.375rem;border:1px solid rgba(148,163,184,.6);padding:.25rem .5rem;color:#e5e7eb;font-size:.8rem}
