/* Host panel: same width and glass treatment as the Last Played panel. */
.radio-page #request-box {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0 0 1.25rem;
    padding: 1.25rem;
    border: 1px solid var(--line, #ffffff3d);
    border-radius: 22px;
    background: var(--solid, #141419);
    color: var(--ink, #fff);
    box-shadow: inset 0 1px 0 var(--highlight, #ffffff1f), 0 12px 32px #00000026;
}
@supports ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))) {
    .radio-page #request-box {
        background: linear-gradient(135deg, var(--highlight, #ffffff1f), transparent 55%), var(--surface, #0a0a0fd1);
        backdrop-filter: blur(20px) saturate(115%);
        -webkit-backdrop-filter: blur(20px) saturate(115%);
    }
}
.request-inbox-frame { display: block; width: 100%; height: 1px; border: 0; background: transparent; opacity: 0; }
.request-inbox-frame.is-ready { opacity: 1; }
.radio-page .request-embed-loading { margin: 0 0 .5rem; color: var(--muted); font-size: .8rem; }
.radio-page .request-embed-fallback { color: var(--ink); font-size: .8rem; }

/* The same stylesheet is appended after /request.css inside the iframe. */
html.knpa-request-embedded,
.knpa-request-embedded body {
    margin: 0 !important; padding: 0 !important;
    width: 100%; height: auto !important; min-height: 0 !important;
    background: transparent !important; background-image: none !important;
    color: var(--ink, #fff); font-family: var(--request-font, 'Courier New', monospace);
    font-size: 13px; font-weight: 400; line-height: 1.45;
    overflow: hidden;
}
.knpa-request-embedded * { box-sizing: border-box; }
.knpa-request-embedded [hidden] { display: none !important; }
.knpa-request-embedded body > main {
    display: flow-root; width: 100%; max-width: none; min-width: 0;
    height: auto; min-height: 0; margin: 0; padding: 0;
    background: transparent; border: 0; border-radius: 0; box-shadow: none;
    color: var(--ink); font: inherit;
}
.knpa-request-embedded main > h1,
.knpa-request-embedded main > a[target="_top"] { display: none; }
.knpa-request-embedded .request-intro { margin: 0 0 .6rem; font-size: .95rem; color: var(--ink); }
.knpa-request-embedded #help { margin: 0 0 1rem; color: var(--muted); font-size: .85rem; line-height: 1.5; }
.knpa-request-embedded form,
.knpa-request-embedded section { margin: 0; padding: 0; border: 0; box-shadow: none; background: transparent; color: var(--ink); }
.knpa-request-embedded #lookup { display: flex; flex-direction: column; gap: .75rem; }
.knpa-request-embedded #lookup > label {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip-path: inset(50%); white-space: nowrap;
}
.knpa-request-embedded input,
.knpa-request-embedded textarea,
.knpa-request-embedded select {
    display: block; width: 100%; min-width: 0; min-height: 44px;
    padding: .7rem .75rem; border: 1px solid var(--line); border-radius: 10px;
    background: var(--solid); color: var(--ink); font: inherit; font-size: 16px;
    box-shadow: none;
}
.knpa-request-embedded input::placeholder,
.knpa-request-embedded textarea::placeholder { color: var(--muted); opacity: 1; }
.knpa-request-embedded textarea { resize: vertical; }
.knpa-request-embedded button {
    min-height: 44px; width: auto; max-width: 100%; padding: .65rem .9rem;
    border: 1px solid var(--line); border-radius: 10px; background: var(--solid);
    color: var(--ink); font: inherit; font-weight: 400; cursor: pointer; box-shadow: none;
    white-space: normal; overflow-wrap: anywhere;
}
.knpa-request-embedded button:hover { border-color: var(--ink); }
.knpa-request-embedded button:disabled { opacity: .6; cursor: wait; }
.knpa-request-embedded #find { align-self: center; letter-spacing: .1em; }
.knpa-request-embedded :is(input, textarea, select, button, a):focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.knpa-request-embedded :is(#status, #send-status) { margin: .75rem 0 0; color: var(--muted); overflow-wrap: anywhere; }
.knpa-request-embedded :is(#status, #send-status):empty { display: none; }
.knpa-request-embedded #results,
.knpa-request-embedded #request { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.knpa-request-embedded h2 { margin: 0 0 .6rem; font: inherit; font-size: 1rem; color: var(--ink); }
.knpa-request-embedded #results > p,
.knpa-request-embedded #request > p { color: var(--muted); }
.knpa-request-embedded #matches { display: grid; gap: .65rem; min-width: 0; }
.knpa-request-embedded #matches > *,
.knpa-request-embedded #selection { min-width: 0; padding: .75rem; border: 1px solid var(--line); border-radius: 10px; background: var(--solid); color: var(--ink); overflow-wrap: anywhere; }
.knpa-request-embedded :is(#matches, #selection) :is(article, section, div, p, span, strong, small, h3) { color: inherit; background-color: transparent; }
.knpa-request-embedded :is(#matches, #selection) :is(p, small) { color: var(--muted); }
.knpa-request-embedded :is(#matches, #selection) img { max-width: 64px; max-height: 64px; object-fit: cover; border-radius: 5px; }
.knpa-request-embedded #request label { display: block; margin: .75rem 0; color: var(--muted); }
.knpa-request-embedded #request .trap { display: none !important; }
.knpa-request-embedded #send,
.knpa-request-embedded #change { display: block; margin: .75rem auto 0; }
.knpa-request-embedded a { color: var(--ink); }
@media (prefers-reduced-transparency: reduce) {
    .radio-page #request-box { background: var(--solid); backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* v0.5.6: one glass surface belongs to the host, not the embedded document. */
.radio-page #request-box { color-scheme: dark; }
html[data-appearance="album"][data-artwork-tone="light"] .radio-page #request-box { color-scheme: light; }
.radio-page #request-box > .request-inbox-frame { background: transparent !important; color-scheme: inherit; }
html.knpa-request-embedded,
html.knpa-request-embedded body,
html.knpa-request-embedded body > main,
html.knpa-request-embedded .request-intro,
html.knpa-request-embedded #help,
html.knpa-request-embedded #lookup,
html.knpa-request-embedded #status,
html.knpa-request-embedded #results,
html.knpa-request-embedded #request {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
html.knpa-request-embedded .request-intro,
html.knpa-request-embedded #help {
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
}
html.knpa-request-embedded::before,
html.knpa-request-embedded::after,
html.knpa-request-embedded body::before,
html.knpa-request-embedded body::after,
html.knpa-request-embedded body > main::before,
html.knpa-request-embedded body > main::after { display: none !important; }
