.viz{width:100%;max-width:480px;margin-inline:auto}@media (min-width:960px){.split--viz{grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:clamp(48px,6vw,96px)}.split--viz.split--flip{grid-template-columns:minmax(0,480px) minmax(0,1fr)}}.am__rows{gap:2px;padding:10px 16px 14px;display:grid}.am__rows li{grid-template-columns:22px 1fr auto;align-items:center;gap:10px;height:38px;font-size:14px;display:grid}.am__icon{color:var(--accent)}.am__name{color:var(--text);font-weight:500}.am__state{justify-items:end;display:grid}.am__state>*{grid-area:1/1;align-self:center}.am__spin{color:var(--faint);opacity:0}@media (prefers-reduced-motion:no-preference){.am__spin{animation:1s linear infinite am-rot,7.2s ease-out infinite both am-spin;animation-delay:0s, calc(var(--i) * .55s)}.am__badge{animation:7.2s cubic-bezier(.22,1,.36,1) infinite both am-badge;animation-delay:calc(var(--i) * .55s)}}@keyframes am-rot{to{transform:rotate(360deg)}}@keyframes am-spin{0%,12%{opacity:1}15%,to{opacity:0}}@keyframes am-badge{0%,12%{opacity:0;transform:scale(.85)}17%,90%{opacity:1;transform:none}to{opacity:0;transform:none}}.fm__body{gap:14px;padding:16px 18px 18px;display:grid}.fm__hunk{gap:4px;display:grid}.fm__area{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px;font-weight:600}.fm__line{font-family:var(--font-sans);font-variant-ligatures:none;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:5px 10px;font-size:13px;display:block;overflow:hidden}.fm__line b{width:16px;font-weight:600;display:inline-block}.fm__line--del{background:var(--bad-tint);color:var(--bad);-webkit-text-decoration:line-through #b4231866;text-decoration:line-through #b4231866}.fm__line--add,.fm__line--note{background:var(--ok-tint);color:var(--ok)}@media (prefers-reduced-motion:no-preference){.fm__line--add,.fm__line--note{animation:7s cubic-bezier(.22,1,.36,1) infinite both fm-add;animation-delay:calc(var(--i) * 1.1s)}.fm__line--del{animation:7s ease-out infinite both fm-del;animation-delay:calc(var(--i) * 1.1s)}}@keyframes fm-add{0%,10%{opacity:0;transform:translateY(6px)}16%,90%{opacity:1;transform:none}to{opacity:0;transform:none}}@keyframes fm-del{0%,12%{opacity:1}18%,90%{opacity:.6}to{opacity:1}}.sk__chips{border-radius:var(--r-pill);background:var(--surface-2);grid-template-columns:repeat(4,1fr);padding:4px;display:grid;position:relative}.sk__pill{border-radius:var(--r-pill);background:#fff;width:calc(25% - 2px);position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 0 0 1px #1111110f,0 4px 12px -4px #1113}.sk__chip{color:var(--text-2);text-align:center;white-space:nowrap;padding:8px 4px;font-size:13px;font-weight:500;position:relative}.sk__code{margin-top:14px;padding:16px 18px}.sk__files{display:grid}.sk__file{opacity:0;grid-area:1/1;gap:4px;display:grid}.sk__file:first-child{opacity:1}.sk__path{color:var(--muted);align-items:center;gap:6px;margin-bottom:6px;font-size:12.5px;font-weight:500;display:inline-flex}.sk__file code{color:var(--text);font-family:var(--font-sans);white-space:pre;font-size:14px}@media (prefers-reduced-motion:no-preference){.sk__pill{animation:8s cubic-bezier(.22,1,.36,1) infinite both sk-pill}.sk__file{animation:8s cubic-bezier(.22,1,.36,1) infinite both sk-file;animation-delay:calc(var(--i) * 2s)}}@keyframes sk-pill{0%,22%{transform:none}25%,47%{transform:translate(100%)}50%,72%{transform:translate(200%)}75%,97%{transform:translate(300%)}to{transform:none}}@keyframes sk-file{0%{opacity:0;transform:translateY(6px)}3%,22%{opacity:1;transform:none}25%,to{opacity:0;transform:none}}.cv__bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.cv__devices{gap:4px;display:inline-flex}.cv__dev{color:var(--text-2);align-items:center;gap:5px;padding:5px 10px;font-size:12.5px;display:inline-flex;position:relative}.cv__dev:before{content:"";z-index:-1;border-radius:var(--r-pill);opacity:0;background:#fff;position:absolute;inset:0;box-shadow:0 0 0 1px #11111112,0 4px 10px -4px #1111112e}.cv__dev--1:before{opacity:1}.cv__dev{isolation:isolate}.cv__sync{color:var(--muted);font-size:12.5px}.cv__sync:before{content:"⇅ ";color:var(--accent)}.cv__panes{grid-template-columns:1fr 1fr;gap:14px;margin-top:12px;display:grid}.cv__label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11.5px;font-weight:600;display:block}.cv__screen{aspect-ratio:4/3;border:1px solid var(--border);box-shadow:var(--sh-2);background:#fff;border-radius:12px;overflow:hidden}.cv__page{gap:7px;padding:10px;display:grid}.cv__page i{background:#e8e6e0;border-radius:4px;display:block}.cv__nav{width:60%;height:8px}.cv__h{width:80%;height:12px;background:#1d1d29!important}.cv__p{height:6px}.cv__p--s{width:70%}.cv__img{height:46px;background:linear-gradient(135deg,#ffc9b0,#f4a9c6 48%,#aea9ff)!important}.cv__img--s{height:30px}.cv__foot{color:var(--muted);text-align:center;margin-top:12px;font-size:12.5px}@media (prefers-reduced-motion:no-preference){.cv__scroll{animation:9s linear infinite cv-scroll}.cv__dev:before{animation:9s ease-in-out infinite both cv-dev}.cv__dev--2:before{animation-delay:3s}.cv__dev--3:before{animation-delay:6s}}@keyframes cv-scroll{to{transform:translateY(-50%)}}@keyframes cv-dev{0%,30%{opacity:1}34%,96%{opacity:0}to{opacity:1}}.rf{height:250px;position:relative}.rf__file{left:calc(var(--i) * 17%);top:calc((2 - var(--i)) * 16px);z-index:var(--i);width:64%;box-shadow:var(--sh-3);transform:rotate(calc((var(--i) - 1) * 3deg));background:#fff;border:1px solid #11111114;border-radius:14px;gap:8px;padding:16px;display:grid;position:absolute}.rf__head{align-items:center;gap:8px;min-width:0;display:flex}.rf__icon{background:var(--accent-tint);width:32px;height:32px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.rf__name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.rf__kind{color:var(--muted);letter-spacing:.08em;margin-left:auto;font-size:11px;font-weight:600}.rf__line{background:#ece9e2;border-radius:3px;width:80%;height:6px;display:block}.rf__line--lg{background:#1d1d29;width:92%;height:9px}.rf__line--s{width:55%}.rf__rows{gap:4px;font-size:12px;font-weight:500;display:grid}.rf__rows span{color:var(--ok);align-items:center;gap:5px;display:inline-flex}.rf__rows span+span{color:var(--info)}@media (prefers-reduced-motion:no-preference){.rf__file{animation:7.5s cubic-bezier(.22,1,.36,1) infinite both rf-lift;animation-delay:calc(var(--i) * 2.5s)}}@keyframes rf-lift{0%,to{translate:0}8%,26%{translate:0 -12px}33%{translate:0}}.dl__body{gap:14px;padding:18px 18px 20px;display:grid}.dl__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.dl__zip{color:var(--accent);align-items:center;gap:9px;display:inline-flex}.dl__zip b{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:600}.dl__done{background:var(--accent);color:#fff;animation:dl-done 8s var(--ease-out) infinite;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-flex}.dl__prog{background:var(--surface-2);border-radius:3px;height:6px;overflow:hidden}.dl__prog i{background:var(--accent);transform-origin:0;height:100%;animation:dl-bar 8s var(--ease-out) infinite;display:block}.dl__files{gap:4px;margin:0;padding:0;list-style:none;display:grid}.dl__files li{border:1px solid var(--border);background:var(--surface);color:var(--text-2);animation:dl-file 8s var(--ease-out) infinite;animation-delay:calc(var(--i) * .35s);border-radius:9px;align-items:center;gap:10px;padding:9px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;display:flex}.dl__files svg{color:var(--accent);flex:none}@keyframes dl-bar{0%{transform:scaleX(0)}45%,88%{transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}@keyframes dl-file{0%,8%{opacity:0;transform:translateY(8px)}18%,88%{opacity:1;transform:none}97%,to{opacity:0}}@keyframes dl-done{0%,46%{opacity:0;transform:scale(.85)}54%,88%{opacity:1;transform:none}97%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.dl__done,.dl__prog i,.dl__files li{animation:none}}.ps__body{gap:14px;padding:22px 18px 20px;display:grid}.ps__field{border:1.5px solid var(--border-strong);background:var(--surface);border-radius:12px;align-items:center;gap:12px;padding:11px 12px 11px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;display:flex;position:relative}.ps__typed{color:var(--text);flex:1;position:relative;overflow:hidden}.ps__typed:after{content:"";background:var(--surface);transform-origin:100%;animation:9s steps(18,end) infinite ps-type;position:absolute;inset:0}.ps__start{background:var(--accent);color:#fff;font-family:var(--font-sans);animation:ps-press 9s var(--ease-out) infinite;border-radius:9px;padding:7px 14px;font-size:12.5px;font-weight:700}.ps__note{color:var(--muted);margin:0;font-size:12.5px}.ps__ok{color:var(--ok);animation:ps-ok 9s var(--ease-out) infinite;align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}@keyframes ps-type{0%,8%{transform:scaleX(1)}50%,to{transform:scaleX(0)}}@keyframes ps-press{0%,58%{transform:none}62%{transform:scale(.9)}68%,to{transform:none}}@keyframes ps-ok{0%,64%{opacity:0;transform:translateY(6px)}72%,92%{opacity:1;transform:none}to{opacity:0}}.cp__body{gap:6px;padding:16px 18px 18px;display:grid}.cp__body li{border:1px solid var(--border);background:var(--surface);border-radius:9px;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:grid}.cp__ico{color:var(--accent)}.cp__bar{background:var(--surface-2);border-radius:2px;grid-column:1/-1;height:3px;overflow:hidden}.cp__bar i{background:var(--accent);transform-origin:0;height:100%;animation:cp-bar 9s var(--ease-out) infinite;animation-delay:calc(var(--i) * 1.1s);display:block}.cp__tag{background:var(--ok-tint);color:var(--ok);animation:cp-tag 9s var(--ease-out) infinite;animation-delay:calc(var(--i) * 1.1s);border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700}@keyframes cp-bar{0%{transform:scaleX(0)}14%,88%{transform:scaleX(1)}96%,to{transform:scaleX(0)}}@keyframes cp-tag{0%,13%{opacity:0;transform:scale(.85)}18%,88%{opacity:1;transform:none}96%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.ps__typed:after,.ps__start,.ps__ok,.cp__bar i,.cp__tag{animation:none}.ps__typed:after{transform:scaleX(0)}}
