/* TEAMWAVE FM • dimension without imitation. No dependencies. */
.tw-button{--tw-size:48px;--tw-icon:21px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;flex-shrink:0;width:var(--tw-size);height:var(--tw-size);padding:0;border:1px solid;border-color:#5a5367 #393340 #17131f;border-radius:14px;background:linear-gradient(155deg,#3b3547 0%,#292635 55%,#24212e 100%);color:#e4dceb;box-shadow:inset 0 1px 0 #ffffff14,inset 0 -1px 0 #0003,0 2px 0 #0e0c15,0 5px 10px #0004;font:500 12px system-ui,sans-serif;cursor:pointer;user-select:none;touch-action:manipulation;transition:background .16s,border-color .16s,box-shadow .12s,transform .12s,color .16s;isolation:isolate;vertical-align:middle}
.tw-button:before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff03;pointer-events:none}
.tw-button svg{width:var(--tw-icon);height:var(--tw-icon);display:block;flex-shrink:0;filter:drop-shadow(0 1px 1px #0003);pointer-events:none}
.tw-button:hover,.tw-button.is-hover{background:linear-gradient(155deg,#51415e,#383045 65%,#2e293d);border-color:#9574a4 #5a446c #241b31;color:#fff1ff;box-shadow:inset 0 1px 0 #ffffff22,0 2px 0 #0e0c15,0 5px 15px #0005,0 0 15px #d46dd00b}
.tw-button:active,.tw-button.is-pressed{transform:translateY(2px);background:linear-gradient(155deg,#24212f,#302739);border-color:#2a2034 #494053 #655273;box-shadow:inset 0 2px 5px #0007,inset 0 1px 0 #0004,0 1px 0 #ffffff04}
.tw-button[aria-pressed="true"],.tw-button.is-active{background:linear-gradient(145deg,#49375d,#302b46);color:#e9c8ff;border-color:#a277ba #6f5187 #342344;box-shadow:inset 0 1px 0 #e8b8ff22,0 2px 0 #161020,0 4px 10px #0004,0 0 12px #b878ea0b}
.tw-button[aria-pressed="true"]:after,.tw-button.is-active:after{content:"";position:absolute;bottom:5px;width:9px;height:2px;border-radius:3px;background:#e9acff;box-shadow:0 0 6px #d881ff99}
.tw-button:focus-visible,.tw-button.is-focus{outline:2px solid #72b9ff;outline-offset:4px}
.tw-button:disabled,.tw-button[aria-disabled="true"]{opacity:.34;cursor:not-allowed;transform:none;box-shadow:inset 0 1px 0 #ffffff09;background:#25222f;border-color:#403849;color:#a49bad}
.tw-button--round{border-radius:50%}.tw-button--small{--tw-size:36px;--tw-icon:17px;border-radius:10px}.tw-button--small.tw-button--round{border-radius:50%}.tw-button--large{--tw-size:64px;--tw-icon:26px;border-radius:19px}.tw-button--large.tw-button--round{border-radius:50%}
.tw-button--primary{background:linear-gradient(145deg,#fcf5fb,#ddd4e7 75%,#cfc3dc);color:#33273f;border-color:#fffaff #d8c7e2 #8f7b9f;box-shadow:inset 0 1px 2px #fff,0 3px 0 #756080,0 6px 13px #0006}
.tw-button--primary:hover{background:linear-gradient(145deg,#fff,#eee0fa);color:#30203d;border-color:#fff #e5d0f4 #a082b4;box-shadow:inset 0 1px 2px #fff,0 3px 0 #756080,0 6px 18px #0005,0 0 22px #d79aee15}
.tw-button--primary:active{background:linear-gradient(145deg,#cabdd8,#e9d9f3);box-shadow:inset 0 2px 4px #61447633,0 1px 0 #756080;transform:translateY(2px)}
.tw-button--label{width:auto;padding:0 17px}.tw-button--label svg{width:18px;height:18px}.tw-button-group{display:inline-flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid;border-color:#111017 #35303e #4a3c55;border-radius:22px;background:linear-gradient(145deg,#121018,#1c1825);box-shadow:inset 0 2px 7px #0008,0 1px 0 #ffffff05}
.tw-volume{display:inline-flex;gap:14px;align-items:center}.tw-volume input{appearance:none;-webkit-appearance:none;width:140px;height:5px;border-radius:5px;outline:none;background:linear-gradient(90deg,#ba84d3 0 var(--tw-volume,64%),#18141f var(--tw-volume,64%) 100%);box-shadow:inset 0 1px 3px #0009,0 1px 0 #ffffff0d;cursor:pointer}.tw-volume input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:15px;height:15px;border:1px solid #d5b1e8;border-radius:50%;background:linear-gradient(145deg,#e0baf0,#9f71b5);box-shadow:inset 0 1px 1px #ffffff66,0 2px 4px #0008}.tw-volume input::-moz-range-thumb{width:14px;height:14px;border:1px solid #d5b1e8;border-radius:50%;background:linear-gradient(145deg,#e0baf0,#9f71b5);box-shadow:0 2px 4px #0008}.tw-volume input:focus-visible{outline:2px solid #72b9ff;outline-offset:7px}
@media(prefers-reduced-motion:reduce){.tw-button{transition:none}}

/* Brand light: blue → violet → pink → orange, shared with the Teamwave wave. */
.tw-button{--tw-blue:#087cff;--tw-pink:#f100c6;--tw-orange:#ff7b2f;--tw-spectrum:linear-gradient(120deg,#087cff 0%,#7845ec 33%,#f100c6 66%,#ff7b2f 100%)}
.tw-button:hover,.tw-button.is-hover{border-color:transparent;background:linear-gradient(145deg,#303c58,#3a2c46 55%,#49312f) padding-box,var(--tw-spectrum) border-box;color:#fff3fc;box-shadow:inset 0 1px 0 #ffffff15,0 2px 0 #100c18,0 5px 14px #0005,-3px 0 13px #087cff18,3px 0 13px #ff7b2f12}
.tw-button:active,.tw-button.is-pressed{border-color:transparent;background:linear-gradient(145deg,#17283e,#35213c 55%,#41272c) padding-box,var(--tw-spectrum) border-box;color:#ffd8f0;transform:translateY(2px);box-shadow:inset 0 3px 6px #0009,inset 0 1px 0 #0005,0 1px 0 #ffffff06}
.tw-button[aria-pressed="true"],.tw-button.is-active{border-color:transparent;background:linear-gradient(135deg,#164677,#65317c 47%,#8c2b74 74%,#a55538) padding-box,var(--tw-spectrum) border-box;color:#fff4fa;box-shadow:inset 0 1px 0 #ffffff25,0 2px 0 #211329,0 5px 12px #0005,-3px 0 14px #087cff13,3px 0 14px #ff7b2f10}
.tw-button[aria-pressed="true"]:after,.tw-button.is-active:after{width:14px;background:linear-gradient(90deg,#59bdff,#ef9aff,#ffb56f);box-shadow:0 0 6px #e97dbd55}
.tw-button[aria-pressed="true"]:active,.tw-button.is-active:active{box-shadow:inset 0 3px 6px #0008,0 1px 0 #ffffff05}
.tw-button:focus-visible,.tw-button.is-focus{outline-color:#53adff;box-shadow:inset 0 1px 0 #ffffff14,0 2px 0 #0e0c15,0 5px 10px #0004,0 0 0 2px #111019,0 0 16px #087cff25}
.tw-button--primary:hover{border-color:transparent;background:linear-gradient(145deg,#eff5ff,#f0d6f1 60%,#ffe0ca) padding-box,var(--tw-spectrum) border-box;color:#442a57;box-shadow:inset 0 1px 2px #fff,0 3px 0 #75587e,0 6px 18px #0005,-3px 0 17px #087cff20,3px 0 17px #ff7b2f14}
.tw-button--primary:active{border-color:transparent;background:linear-gradient(145deg,#c1c9e5,#ddbddf 60%,#ecc7b4) padding-box,var(--tw-spectrum) border-box;color:#442a57;box-shadow:inset 0 3px 6px #51325255,0 1px 0 #75587e}
.tw-button:disabled,.tw-button[aria-disabled="true"]{opacity:.34;cursor:not-allowed;transform:none;box-shadow:inset 0 1px 0 #ffffff09;background:#25222f;border-color:#403849;color:#a49bad}
.tw-volume input{background:linear-gradient(90deg,#087cff 0%,#b650e6 calc(var(--tw-volume,64%)*.5),#f76ca9 var(--tw-volume,64%),#18141f var(--tw-volume,64%) 100%)}
.tw-volume input::-webkit-slider-thumb{border-color:#ffd1d2;background:linear-gradient(135deg,#dfbcff,#ee98b8 60%,#ffc194)}
.tw-volume input::-moz-range-thumb{border-color:#ffd1d2;background:linear-gradient(135deg,#dfbcff,#ee98b8 60%,#ffc194)}

.tw-button--muted:after{display:none}
