.request-drawer{position:fixed;inset:20px 20px 20px auto;margin:0;width:min(570px,calc(100vw - 40px));height:min(820px,calc(100dvh - 40px));max-width:none;max-height:none;padding:0;border:1px solid #fff;border-radius:27px;background:linear-gradient(145deg,#faf4ff,#eef3ff 60%,#fff4ee);color:#62476f;box-shadow:0 20px 90px #40305e45;overflow:hidden;font-family:'Segoe UI',Arial,sans-serif;animation:request-enter .28s ease-out}.request-drawer::backdrop{background:#30264142;backdrop-filter:blur(3px)}.request-shell{display:flex;flex-direction:column;height:100%;min-height:0}.request-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-shrink:0;padding:25px 26px 20px;background:linear-gradient(120deg,#efe1f7,#e6f4ff,#fae8ee);border-bottom:1px solid #dbcde8}.request-eyebrow{font-size:10px;letter-spacing:1.7px;color:#8b719f}.request-header h2{font:30px Georgia,serif;line-height:1.3;margin:9px 0 0;color:#644079}.request-header h2 span{color:#a3bad7;font-size:25px}.request-close{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;padding:0;border:1px solid #d9c3e8;border-radius:50%;background:#ffffffc9;color:#8e67a0;font-size:27px;cursor:pointer}.request-scroll{padding:20px 26px 23px;overflow:auto;overscroll-behavior:contain;min-height:0;scrollbar-width:thin;scrollbar-color:#d0b8df transparent}.request-intro{display:flex;align-items:center;gap:16px;margin-bottom:19px}.request-disc{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:20px;background:linear-gradient(130deg,#c6e1f1,#e5c1ea,#f7d5c6);font-size:29px;color:#fff;box-shadow:0 4px 15px #aa8ab42b}.request-intro p{font:16px/1.6 Georgia,serif;margin:0;color:#897193}.request-song-form{display:grid;gap:16px}.request-song-form label{display:block;font-size:13px;line-height:1.5;font-weight:600}.request-song-form label>span{font-size:10px;opacity:.65;font-weight:400}.request-song-form input,.request-song-form textarea{display:block;box-sizing:border-box;width:100%;min-width:0;margin-top:7px;padding:13px 14px;border:1px solid #d8c5e5;border-radius:14px;background:#ffffffce;color:#634978;font:14px 'Segoe UI',Arial,sans-serif;outline-offset:2px;transition:border-color .2s,box-shadow .2s}.request-song-form input:focus,.request-song-form textarea:focus{border-color:#ac83c8;outline:2px solid #d9c6ec;box-shadow:0 0 0 4px #eadff266}.request-song-form textarea{resize:vertical;min-height:86px;max-height:170px}.request-field-pair{display:grid;grid-template-columns:1fr 1fr;gap:13px;min-width:0}.request-footnote{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border:1px solid #e5dced;border-radius:14px;background:#fff9edb0}.request-footnote>span{color:#bc965f;font-size:20px}.request-footnote p{font-size:11px;line-height:1.7;margin:0;font-weight:400;color:#97828d}.request-submit{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 20px;border:1px solid #c8a1ce;border-radius:16px;background:linear-gradient(110deg,#b483c4,#9473be,#be90ba);color:#fff;font:600 15px 'Segoe UI',Arial,sans-serif;cursor:pointer;box-shadow:0 5px 18px #aa7cb336}.request-submit:disabled{opacity:.6;cursor:wait}.request-submit:hover{filter:brightness(1.05)}.request-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:19px;font-size:10px;color:#a08ca9}.request-footer a{color:#91729f;text-decoration:none}.request-result[hidden]{display:none}.request-result iframe{display:block;width:100%;height:410px;max-height:55dvh;border:1px solid #dfd1ea;border-radius:16px;background:#f9f5ff}.request-result-caption{font-size:12px;line-height:1.7;margin:0 0 14px}.request-again{padding:11px 16px;margin-top:15px;border:1px solid #d9c4e7;border-radius:13px;color:#82539c;background:#fff7fc;cursor:pointer}.request-close:focus-visible,.request-again:focus-visible,.request-submit:focus-visible,.request-footer a:focus-visible{outline:3px solid #ae87c7;outline-offset:3px}@keyframes request-enter{from{transform:translateX(35px);opacity:0}to{transform:translateX(0);opacity:1}}@media(max-width:1024px){.request-drawer{width:min(510px,calc(100vw - 40px));height:min(750px,calc(86dvh - 20px));inset:7dvh 20px auto auto}}@media(max-width:600px){.request-drawer{inset:auto 14px 14px auto;width:calc(100vw - 28px);height:auto;max-height:82dvh;border-radius:24px}.request-shell{height:auto;max-height:82dvh}.request-header{padding:18px 18px 15px}.request-header h2{font-size:24px;margin-top:6px}.request-eyebrow{font-size:8px;letter-spacing:1.1px}.request-close{width:38px;height:38px;font-size:24px}.request-scroll{padding:15px 18px 18px}.request-intro{gap:12px;margin-bottom:15px}.request-disc{width:44px;height:44px;border-radius:15px;font-size:24px}.request-intro p{font-size:14px}.request-song-form{gap:13px}.request-field-pair{grid-template-columns:1fr;gap:13px}.request-song-form input,.request-song-form textarea{padding:11px 12px;font-size:16px}.request-song-form label{font-size:12px}.request-submit{font-size:13px;padding:13px 15px}.request-footnote{padding:9px 11px}.request-footer{font-size:9px;gap:9px}.request-result iframe{height:340px;max-height:48dvh}}@media(prefers-reduced-motion:reduce){.request-drawer{animation:none}.request-song-form input,.request-song-form textarea{transition:none}}

.request-song-form[hidden]{display:none}

.request-song-form select{box-sizing:border-box;width:100%;padding:12px;border:1px solid #d5b9e7;border-radius:13px;background:#fff9ff;color:#704c83;font:inherit}
