.ap-keep{word-break:keep-all;overflow-wrap:break-word}.ap-machine{background:linear-gradient(180deg,#F3EEE3,#E4DCCB);border:1px solid #d5cbb6;box-shadow:0 26px 40px -26px rgba(46,42,38,.5),inset 0 1px 0 rgba(255,255,255,.7)}.ap-window{background:linear-gradient(180deg,#3A3733,#22201D);box-shadow:inset 0 3px 10px rgba(0,0,0,.6),0 1px 0 rgba(255,255,255,.5)}.ap-hub{transform:translate(-50%,-50%);transform-origin:center}.ap-hub-ring{fill:#F1EBDD}.ap-tooth{fill:#6B6154}.ap-hero[data-playing=true] .ap-hub{animation:ap-spin 1.6s linear infinite}.ap-hero[data-playing=true] .ap-hub:last-child{animation-duration:1.3s}@keyframes ap-spin{to{transform:translate(-50%,-50%) rotate(1turn)}}.ap-label{background:#FFFDF8;border:1px solid #d5cbb6}.ap-led{background:#7A3A36;box-shadow:inset 0 1px 1px rgba(0,0,0,.3)}.ap-hero[data-playing=true] .ap-led{animation:ap-blink .9s steps(1) infinite}.ap-hero[data-open=true]:not([data-playing=true]) .ap-led{background:#E8483F;box-shadow:0 0 8px 2px rgba(232,72,63,.6)}@keyframes ap-blink{0%,to{background:#E8483F;box-shadow:0 0 8px 2px rgba(232,72,63,.6)}50%{background:#7A3A36;box-shadow:none}}.ap-lcd{background:#202824;color:#9FE0B2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:inset 0 2px 4px rgba(0,0,0,.6)}.ap-btn{background:linear-gradient(180deg,#FBF8F0,#E8E1D2);border:1px solid #c9bfa9;color:#6A6156;box-shadow:0 2px 0 #B9AE98}.ap-play{background:linear-gradient(180deg,#E24E45,#C42E27);border-color:#A5241E;color:#FFFFFF;box-shadow:0 3px 0 #8E1C17;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s ease,box-shadow .1s ease}.ap-hero[data-open=true] .ap-play,.ap-play:active{transform:translateY(2px);box-shadow:0 1px 0 #8E1C17}.ap-play:focus-visible{outline:2px solid #D0342C;outline-offset:3px}.ap-hero[data-open=true] .ap-play{opacity:.85}.ap-line{animation:ap-line .45s ease both}@keyframes ap-line{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ap-cursor{animation:ap-cursor .8s steps(1) infinite}@keyframes ap-cursor{50%{opacity:0}}.ap-hint{animation:bp-pulse 2.2s ease-in-out infinite}.ap-hero[data-open=true] .ap-hint{animation:none}.ap[data-open=false] .ap-hero~section{display:none}.ap[data-open=true] .ap-hero~section{animation:bp-in .7s ease .2s both}@media (prefers-reduced-motion:reduce){.ap-cursor,.ap-hero[data-playing=true] .ap-hub,.ap-hero[data-playing=true] .ap-led,.ap-hint,.ap-line,.ap[data-open=true] .ap-hero~section{animation:none!important}.ap-play{transition:none!important}}