/* 创新工场 · AI 音乐卡片：左栏迷你播放器，右栏介绍与当日资讯。
   只作用于 #ai-music-project；lab.css 由创新工场自己维护，这里不动它。
   四套皮肤全部走 CSS 变量，切换只改 .amp 上的 data-skin。 */
#ai-music-project{align-items:stretch}
#ai-music-project .music-stage{display:flex;align-items:center;justify-content:center;min-width:0;padding:22px;background:#e4ebdc}
#ai-music-project .music-today{margin:18px 0 4px;font-size:16px}
#ai-music-project .music-news{margin:16px 0 0;padding:14px 16px;border-radius:12px;background:#f3f6ec;border:1px solid #d4dfc7}
#ai-music-project .music-news h3{margin:0 0 6px;font-size:14px;color:#3c5a45}
#ai-music-project .music-news ul{margin:6px 0 0;padding-left:18px}
#ai-music-project .music-news li{font-size:14px;line-height:1.75;color:#5f7457}
#ai-music-project .music-news p{margin:0;font-size:13px}

#ai-music-project .amp{
 --bg1:#3d3d55;--bg2:#23232f;--hi:#6c6c8c;--lo:#0b0b10;--fg:#d8d8e8;
 --bar1:#d2ac52;--bar2:#56461d;--bar-label:#2a2a38;--bar-fg:#f0e6c8;
 --lcd:#000;--lcd-fg:#00e000;--lcd-dim:#4f7f4f;--lcd-note:#6fb46f;--lcd-on:#30ff60;
 --sel:#0000c8;--sel-fg:#fff;--hover:#0b0b5c;--btn1:#6c6c8c;--btn2:#3d3d55;--btn-hi:#a0a0c0;--btn-fg:#eef;--accent:#d2ac52;
 --eq1:#f4e04d;--eq2:#18d018;--bot-body:#7fd3ff;--bot-dark:#245a78;--bot-cheek:#ff8fb1;
 width:100%;max-width:560px;padding:4px;border:1px solid var(--lo);border-radius:4px;
 background:linear-gradient(var(--bg1),var(--bg2));box-shadow:inset 1px 1px 0 var(--hi),inset -1px -1px 0 var(--lo),0 12px 30px rgba(20,30,20,.18);
 color:var(--fg);font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
#ai-music-project .amp[data-skin="neon"]{
 --bg1:#2a1446;--bg2:#120822;--hi:#7a4cc2;--lo:#05020c;--fg:#f0e6ff;--bar1:#ff4fd8;--bar2:#3a0f5c;--bar-label:#1c0b33;--bar-fg:#ffd6f6;
 --lcd:#07021a;--lcd-fg:#5ef6ff;--lcd-dim:#4d6c94;--lcd-note:#c49bff;--lcd-on:#ff79f2;--sel:#ff2fb3;--sel-fg:#fff;--hover:#2a0d4f;
 --btn1:#5b2b99;--btn2:#2d1452;--btn-hi:#b98cff;--btn-fg:#fff;--accent:#ff4fd8;--eq1:#ff79f2;--eq2:#5ef6ff;--bot-body:#ffb3f0;--bot-dark:#5b2b99;--bot-cheek:#5ef6ff}
#ai-music-project .amp[data-skin="cream"]{
 --bg1:#efe3c6;--bg2:#d8c69c;--hi:#fff8e6;--lo:#8a7650;--fg:#4a3b22;--bar1:#c0563a;--bar2:#e8d6ac;--bar-label:#efe3c6;--bar-fg:#7a3524;
 --lcd:#2f3a2c;--lcd-fg:#d9f2a6;--lcd-dim:#8ea27a;--lcd-note:#c9dd9a;--lcd-on:#fff3b0;--sel:#c0563a;--sel-fg:#fff8e6;--hover:#46553f;
 --btn1:#fff4da;--btn2:#e2cf9f;--btn-hi:#fffdf3;--btn-fg:#5a4628;--accent:#c0563a;--eq1:#fff3b0;--eq2:#9ccc65;--bot-body:#ffd166;--bot-dark:#8a5a1a;--bot-cheek:#ff8a80}
#ai-music-project .amp[data-skin="paper"]{
 --bg1:#ffffff;--bg2:#f1f3f0;--hi:#ffffff;--lo:#c9d1c6;--fg:#2c3a33;--bar1:#2e7856;--bar2:#dfe8da;--bar-label:#ffffff;--bar-fg:#2e7856;
 --lcd:#f7faf4;--lcd-fg:#244f39;--lcd-dim:#8a9a86;--lcd-note:#5d7a63;--lcd-on:#1f8f5a;--sel:#2e7856;--sel-fg:#fff;--hover:#e3eedb;
 --btn1:#ffffff;--btn2:#eef2ec;--btn-hi:#ffffff;--btn-fg:#244f39;--accent:#2e7856;--eq1:#9ad1a8;--eq2:#2e7856;--bot-body:#9ad1a8;--bot-dark:#244f39;--bot-cheek:#ffb3a7}

#ai-music-project .amp-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;height:18px;margin-bottom:4px;padding:0 4px;
 background:repeating-linear-gradient(0deg,var(--bar1) 0 1px,var(--bar2) 1px 3px)}
#ai-music-project .amp-bar>span{background:var(--bar-label);color:var(--bar-fg);font-size:10px;line-height:16px;letter-spacing:.2em;padding:0 8px}
/* 标题栏右侧的 ⚙ 设置：伙伴、皮肤、睡眠定时等"设一次就不常动"的选项都收在这里。 */
#ai-music-project .amp-menu{position:relative}
#ai-music-project .amp-menu summary{list-style:none;cursor:pointer;width:22px;height:16px;text-align:center;line-height:16px;font-size:12px;
 background:var(--bar-label);color:var(--bar-fg);border:1px solid var(--lo)}
#ai-music-project .amp-menu summary::-webkit-details-marker{display:none}
#ai-music-project .amp-menu-body{position:absolute;right:0;top:20px;z-index:5;width:230px;padding:10px;display:grid;gap:8px;
 background:var(--bg2);border:1px solid var(--lo);box-shadow:inset 1px 1px 0 var(--hi),0 10px 24px rgba(0,0,0,.35);
 font:12px/1.5 system-ui,-apple-system,"PingFang SC",sans-serif;color:var(--fg)}
#ai-music-project .amp-menu-body label{display:grid;gap:3px}
#ai-music-project .amp-menu-body select,#ai-music-project .amp-filters select,#ai-music-project .amp-eq select{
 height:24px;border:1px solid var(--lo);background:var(--lcd);color:var(--lcd-fg);font:12px system-ui,-apple-system,"PingFang SC",sans-serif}
#ai-music-project .amp-menu-body p{margin:2px 0 0;font-size:11px;opacity:.75}
/* 液晶屏右下角的状态灯：播放模式、EQ、睡眠定时，一眼看到当前状态。 */
#ai-music-project .amp-lights{grid-column:2/-1;justify-self:end;display:flex;gap:6px;font:10px/1.2 system-ui,-apple-system,"PingFang SC",sans-serif}
#ai-music-project .amp-lights span{padding:0 4px;border:1px solid var(--lcd-dim);color:var(--lcd-dim)}
#ai-music-project .amp-lights span:empty{display:none}
#ai-music-project .amp-lights span.is-on{border-color:var(--lcd-fg);color:var(--lcd-fg)}
/* 控制行：传输键 + 图标功能键 + 音量 */
#ai-music-project .amp-sep{width:6px}
#ai-music-project .amp-ctrl .amp-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:22px;padding:0;
 border:1px solid var(--lo);background:linear-gradient(var(--btn1),var(--btn2));box-shadow:inset 1px 1px 0 var(--btn-hi);
 color:var(--btn-fg);font:12px/1 system-ui,-apple-system,sans-serif;text-decoration:none;cursor:pointer}
#ai-music-project .amp-ctrl .amp-ico[data-amp-act="eq"]{width:30px;font-size:10px;font-weight:700;letter-spacing:.05em}
#ai-music-project .amp-ctrl .amp-ico[aria-pressed="true"]{background:var(--sel);color:var(--sel-fg);box-shadow:inset -1px -1px 0 var(--btn-hi)}
/* EQ 窗口：Winamp 的十段 + 前级，竖推子。 */
#ai-music-project .amp-eq{margin-top:4px;padding:6px 8px 8px;background:var(--lcd);border:1px solid var(--lo);
 box-shadow:inset 1px 1px 0 rgba(0,0,0,.4),inset -1px -1px 0 var(--hi);color:var(--lcd-fg)}
#ai-music-project .amp-eq[hidden]{display:none}
#ai-music-project .amp-eq-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px}
#ai-music-project .amp-eq-head button,#ai-music-project .amp-pane-head button,#ai-music-project .amp-filters button{
 height:22px;padding:0 8px;border:1px solid var(--lo);background:var(--bg2);color:var(--fg);cursor:pointer;
 font:11px system-ui,-apple-system,"PingFang SC",sans-serif}
#ai-music-project .amp-eq-head button[aria-pressed="true"],#ai-music-project .amp-filters button[aria-pressed="true"],
#ai-music-project .amp-pane-head button[aria-expanded="true"]{background:var(--sel);color:var(--sel-fg)}
#ai-music-project .amp-eq-note{flex:1 1 100%;font:11px/1.4 system-ui,-apple-system,"PingFang SC",sans-serif;color:var(--lcd-note)}
#ai-music-project .amp-eq-note:empty{display:none}
#ai-music-project .amp-eq-bands{display:grid;grid-template-columns:repeat(11,1fr);gap:2px;align-items:end}
#ai-music-project .amp-eq-band{display:grid;justify-items:center;gap:2px;font-size:9px;color:var(--lcd-dim)}
#ai-music-project .amp-eq-pre{border-right:1px dashed var(--lcd-dim);padding-right:2px}
#ai-music-project .amp-eq-band input{writing-mode:vertical-lr;direction:rtl;-webkit-appearance:slider-vertical;
 width:16px;height:86px;margin:0;accent-color:var(--accent)}
#ai-music-project .amp-eq.is-off .amp-eq-bands{opacity:.45}
#ai-music-project .amp-eq.is-unsupported .amp-eq-bands,#ai-music-project .amp-eq.is-unsupported .amp-eq-head>:not(.amp-eq-note){display:none}
/* 歌单 / 歌词两个窗口，各带一条小标题栏；筛选收在歌单标题栏的抽屉里。 */
#ai-music-project .amp-pane{min-width:0;display:flex;flex-direction:column}
#ai-music-project .amp-pane-head{display:flex;align-items:center;justify-content:space-between;gap:6px;height:24px;padding:0 2px 2px;
 font:11px system-ui,-apple-system,"PingFang SC",sans-serif;color:var(--fg)}
#ai-music-project .amp-pane-head b{font-weight:600}
#ai-music-project .amp-filters{display:flex;flex-wrap:wrap;gap:3px;margin:0 0 4px}
#ai-music-project .amp-filters[hidden]{display:none}
#ai-music-project .amp-filters select{flex:1 1 46%;min-width:0}
#ai-music-project .amp-lcd{display:grid;grid-template-columns:64px auto 1fr;grid-template-rows:auto auto auto;align-items:end;gap:2px 10px;padding:6px 8px;
 background:var(--lcd);border:1px solid var(--lo);box-shadow:inset 1px 1px 0 rgba(0,0,0,.4),inset -1px -1px 0 var(--hi);color:var(--lcd-fg)}
#ai-music-project .amp-bot{grid-row:1/3;width:64px;height:64px;align-self:center}
#ai-music-project .amp-time{font-size:26px;line-height:1;letter-spacing:.05em;text-shadow:0 0 6px color-mix(in srgb,var(--lcd-fg) 55%,transparent)}
#ai-music-project .amp-viz{display:flex;align-items:flex-end;gap:2px;height:26px;overflow:hidden}
#ai-music-project .amp-viz i{flex:0 0 4px;height:2px;background:linear-gradient(var(--eq1),var(--eq2))}
/* 有真实频谱时由脚本逐帧写高度；没有（iOS 或 Web Audio 起不来）时按 BPM 打拍子：
   每根柱的周期都是半拍、一拍或四分之一拍，起落落在节拍上。 */
#ai-music-project .amp.has-spectrum .amp-viz i{transition:height .07s linear}
#ai-music-project .amp.is-playing:not(.has-spectrum) .amp-viz i{animation:amp-eq calc(var(--beat,.55s) / 2) ease-in-out infinite alternate}
#ai-music-project .amp.is-playing:not(.has-spectrum) .amp-viz i:nth-child(2n){animation-duration:calc(var(--beat,.55s) / 4)}
#ai-music-project .amp.is-playing:not(.has-spectrum) .amp-viz i:nth-child(3n){animation-duration:var(--beat,.55s);animation-delay:calc(var(--beat,.55s) / -2)}
#ai-music-project .amp.is-playing:not(.has-spectrum) .amp-viz i:nth-child(5n+1){animation-delay:calc(var(--beat,.55s) / -4)}
@keyframes amp-eq{from{height:2px}to{height:24px}}
#ai-music-project .amp-title{grid-column:2/-1;overflow:hidden;white-space:nowrap}
#ai-music-project .amp-title span{display:inline-block}
#ai-music-project .amp.is-playing .amp-title span{padding-left:100%;animation:amp-scroll 18s linear infinite}
@keyframes amp-scroll{to{transform:translateX(-100%)}}
#ai-music-project .amp-note{grid-column:1/-1;min-height:1.45em;color:var(--lcd-note);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ai-music-project .amp input[type=range]{width:100%;margin:6px 0 2px;accent-color:var(--accent)}
#ai-music-project .amp-ctrl{display:flex;align-items:center;gap:3px}
#ai-music-project .amp-ctrl button{width:32px;height:22px;padding:0;border:1px solid var(--lo);cursor:pointer;
 background:linear-gradient(var(--btn1),var(--btn2));box-shadow:inset 1px 1px 0 var(--btn-hi);color:var(--btn-fg);font-size:11px}
#ai-music-project .amp-ctrl button:active{box-shadow:inset -1px -1px 0 var(--btn-hi)}
#ai-music-project .amp-vol{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:10px;letter-spacing:.1em}
#ai-music-project .amp-vol input{width:76px;margin:0}
#ai-music-project .amp-list .is-fav .amp-name::after{content:" ♥";color:var(--accent)}
#ai-music-project .amp-lyrics[data-mode="orig"] small{display:none}
#ai-music-project .amp-lyrics[data-mode="zh"] p>.amp-orig{display:none}
#ai-music-project .amp-lyrics[data-mode="zh"] p>small{font-size:12px;opacity:1}
#ai-music-project .amp-bot .bot-zz{opacity:0;fill:var(--lcd-note);font:bold 9px system-ui,sans-serif}
#ai-music-project .amp.is-sleepy .amp-bot .bot-zz{animation:bot-zz 2.4s ease-in-out infinite}
#ai-music-project .amp.is-sleepy .amp-bot .bot-eyes{animation:none;transform:scaleY(.15)}
#ai-music-project .amp.is-sleepy .amp-bot .bot-all{animation:bot-breathe 4s ease-in-out infinite}
@keyframes bot-zz{0%{opacity:0;transform:translate(0,4px)}40%{opacity:1}100%{opacity:0;transform:translate(6px,-8px)}}
#ai-music-project .amp-panels{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}
#ai-music-project .amp-list,#ai-music-project .amp-lyrics{position:relative;height:230px;margin:0;padding:4px;overflow:auto;
 background:var(--lcd);border:1px solid var(--lo);box-shadow:inset 1px 1px 0 rgba(0,0,0,.4),inset -1px -1px 0 var(--hi);color:var(--lcd-fg)}
#ai-music-project .amp-list{list-style:none}
#ai-music-project .amp-list button{display:grid;grid-template-columns:auto 1fr auto;column-gap:6px;width:100%;padding:3px 4px;border:0;cursor:pointer;
 background:none;color:var(--lcd-fg);font:inherit;text-align:left}
#ai-music-project .amp-list .amp-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#ai-music-project .amp-list small{grid-column:2/-1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--lcd-dim);font-size:10px}
#ai-music-project .amp-list button:hover,#ai-music-project .amp-list button:focus-visible{background:var(--hover)}
#ai-music-project .amp-list .is-current button,#ai-music-project .amp-list .is-current small{background:var(--sel);color:var(--sel-fg)}
#ai-music-project .amp-lyrics p{margin:0 0 7px;color:var(--lcd-dim);transition:color .2s}
#ai-music-project .amp-lyrics small{display:block;font-size:11px;opacity:.85}
#ai-music-project .amp-lyrics p.is-on{color:var(--lcd-on);text-shadow:0 0 6px color-mix(in srgb,var(--lcd-on) 45%,transparent)}
#ai-music-project .amp-lyrics .amp-hint{color:var(--lcd-note);font-size:11px}
/* 等宽字体缺阿拉伯、波斯、希伯来文的连写字形，字母会被拆散；只有走时用等宽。 */
#ai-music-project .amp-title,#ai-music-project .amp-note,#ai-music-project .amp-list,#ai-music-project .amp-list button,
#ai-music-project .amp-lyrics,#ai-music-project .amp-filters select{
 font-family:system-ui,-apple-system,"PingFang SC","Noto Sans","Noto Sans Arabic","Noto Sans Hebrew",sans-serif}

/* 跳舞的伙伴（原创形象）。四个 SVG 都在页面里，只显示 data-mascot 选中的那个。
   舞步周期 = 一拍（--beat 由脚本按歌曲 BPM 写入）；--beat-offset 让动画相位对齐歌曲当前播放位置，
   每次播放、拖动进度都会重新对齐，不会越跳越偏。桌面端检测到鼓点时再额外"跳一下"（is-beat）。 */
#ai-music-project .amp-bot svg{display:none;width:100%;height:100%;overflow:visible}
#ai-music-project .amp[data-mascot="robot"] [data-mascot-svg="robot"],
#ai-music-project .amp[data-mascot="cat"] [data-mascot-svg="cat"],
#ai-music-project .amp[data-mascot="penguin"] [data-mascot-svg="penguin"],
#ai-music-project .amp[data-mascot="dino"] [data-mascot-svg="dino"]{display:block}
#ai-music-project .amp-bot .bot-body{fill:var(--bot-body)}
#ai-music-project .amp-bot .bot-dark{fill:var(--bot-dark)}
#ai-music-project .amp-bot .bot-belly{fill:#fff;opacity:.92}
#ai-music-project .amp-bot .bot-feet{fill:#ffb347}
#ai-music-project .amp-bot .bot-cheek{fill:var(--bot-cheek);opacity:.75}
#ai-music-project .amp-bot .bot-line{stroke:var(--bot-dark);stroke-width:3;stroke-linecap:round;fill:none}
#ai-music-project .amp-bot .bot-thin{stroke-width:1.4}
#ai-music-project .amp-bot .bot-all{transform-origin:32px 58px;animation:bot-breathe 3s ease-in-out infinite}
#ai-music-project .amp-bot .bot-eyes{transform-origin:32px 24px;animation:bot-blink 4s infinite}
#ai-music-project .amp-bot .bot-note{opacity:0;fill:var(--lcd-fg)}
#ai-music-project [data-mascot-svg="robot"] .bot-arm-l{transform-origin:16px 38px}
#ai-music-project [data-mascot-svg="robot"] .bot-arm-r{transform-origin:48px 38px}
#ai-music-project [data-mascot-svg="cat"] .bot-arm-l{transform-origin:20px 50px}
#ai-music-project [data-mascot-svg="cat"] .bot-arm-r{transform-origin:44px 50px}
#ai-music-project [data-mascot-svg="cat"] .bot-tail{transform-origin:44px 52px}
#ai-music-project [data-mascot-svg="penguin"] .bot-arm-l{transform-origin:18px 31px}
#ai-music-project [data-mascot-svg="penguin"] .bot-arm-r{transform-origin:46px 31px}
#ai-music-project [data-mascot-svg="dino"] .bot-arm-l{transform-origin:21px 42px}
#ai-music-project [data-mascot-svg="dino"] .bot-arm-r{transform-origin:43px 42px}
#ai-music-project [data-mascot-svg="dino"] .bot-tail{transform-origin:42px 46px}

/* 播放时：全身、双手、尾巴按拍子来回；相位对齐歌曲位置。 */
#ai-music-project .amp.is-playing .amp-bot .bot-all,
#ai-music-project .amp.is-playing .amp-bot .bot-arm-l,
#ai-music-project .amp.is-playing .amp-bot .bot-arm-r,
#ai-music-project .amp.is-playing .amp-bot .bot-tail{animation-duration:var(--beat,.55s);animation-timing-function:ease-in-out;
 animation-iteration-count:infinite;animation-direction:alternate;animation-delay:var(--beat-offset,0s)}
#ai-music-project .amp.is-playing .amp-bot .bot-note{animation:bot-note calc(var(--beat,.55s) * 4) linear infinite}
/* 小知：上下弹、两手交替挥 */
#ai-music-project .amp.is-playing [data-mascot-svg="robot"] .bot-all{animation-name:bot-bounce}
#ai-music-project .amp.is-playing [data-mascot-svg="robot"] .bot-arm-l{animation-name:bot-wave-l}
#ai-music-project .amp.is-playing [data-mascot-svg="robot"] .bot-arm-r{animation-name:bot-wave-r}
/* 喵喵：左右摇、举爪、甩尾巴 */
#ai-music-project .amp.is-playing [data-mascot-svg="cat"] .bot-all{animation-name:cat-sway}
#ai-music-project .amp.is-playing [data-mascot-svg="cat"] .bot-arm-l{animation-name:cat-paw-l}
#ai-music-project .amp.is-playing [data-mascot-svg="cat"] .bot-arm-r{animation-name:cat-paw-r}
#ai-music-project .amp.is-playing [data-mascot-svg="cat"] .bot-tail{animation-name:cat-tail}
/* 阿企：左右摇摆着走、拍翅膀 */
#ai-music-project .amp.is-playing [data-mascot-svg="penguin"] .bot-all{animation-name:penguin-waddle}
#ai-music-project .amp.is-playing [data-mascot-svg="penguin"] .bot-arm-l{animation-name:penguin-flap-l}
#ai-music-project .amp.is-playing [data-mascot-svg="penguin"] .bot-arm-r{animation-name:penguin-flap-r}
/* 嗷呜：蹦起来、甩尾巴、小手扑腾 */
#ai-music-project .amp.is-playing [data-mascot-svg="dino"] .bot-all{animation-name:dino-jump}
#ai-music-project .amp.is-playing [data-mascot-svg="dino"] .bot-arm-l{animation-name:dino-arm-l}
#ai-music-project .amp.is-playing [data-mascot-svg="dino"] .bot-arm-r{animation-name:dino-arm-r}
#ai-music-project .amp.is-playing [data-mascot-svg="dino"] .bot-tail{animation-name:dino-tail}
/* 鼓点：在舞步之外整只再"蹦一下"（套在外层容器上，不和舞步的 transform 打架）。 */
#ai-music-project .amp-bot{transform-origin:50% 100%}
#ai-music-project .amp.is-beat .amp-bot{animation:bot-hop .22s ease-out}

@keyframes bot-breathe{50%{transform:scale(1.02,.98)}}
@keyframes bot-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes bot-note{0%{opacity:0;transform:translate(0,0)}20%{opacity:1}100%{opacity:0;transform:translate(10px,-22px)}}
@keyframes bot-hop{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-5px) scale(1.06,.96)}100%{transform:translateY(0) scale(1)}}
@keyframes bot-bounce{from{transform:translateY(0) rotate(-7deg) scale(1.03,.95)}to{transform:translateY(-6px) rotate(7deg) scale(.97,1.04)}}
@keyframes bot-wave-l{from{transform:rotate(25deg)}to{transform:rotate(-50deg)}}
@keyframes bot-wave-r{from{transform:rotate(50deg)}to{transform:rotate(-25deg)}}
@keyframes cat-sway{from{transform:rotate(-9deg) translateX(-1px)}to{transform:rotate(9deg) translateX(1px)}}
@keyframes cat-paw-l{from{transform:rotate(0)}to{transform:rotate(-55deg) translateY(-2px)}}
@keyframes cat-paw-r{from{transform:rotate(55deg) translateY(-2px)}to{transform:rotate(0)}}
@keyframes cat-tail{from{transform:rotate(-22deg)}to{transform:rotate(16deg)}}
@keyframes penguin-waddle{from{transform:translateX(-3px) rotate(-12deg)}to{transform:translateX(3px) rotate(12deg)}}
@keyframes penguin-flap-l{from{transform:rotate(8deg)}to{transform:rotate(-38deg)}}
@keyframes penguin-flap-r{from{transform:rotate(38deg)}to{transform:rotate(-8deg)}}
@keyframes dino-jump{from{transform:translateY(0) scale(1.05,.93)}to{transform:translateY(-8px) scale(.96,1.04)}}
@keyframes dino-arm-l{from{transform:rotate(15deg)}to{transform:rotate(-35deg)}}
@keyframes dino-arm-r{from{transform:rotate(35deg)}to{transform:rotate(-15deg)}}
@keyframes dino-tail{from{transform:rotate(-12deg)}to{transform:rotate(16deg)}}
@media (prefers-reduced-motion:reduce){#ai-music-project .amp *{animation:none!important}}
@media (max-width:1000px){#ai-music-project .amp-panels{grid-template-columns:1fr}}
@media (max-width:750px){#ai-music-project .music-stage{padding:12px}}
