:root {
            --ambient-opacity: 0;
        }
body{
    width: 100%;
    height: 100%;
    overflow: hidden;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    margin: 0;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    background-color: white;
    background-size: cover;
    font-family: "Unna", serif;
    font-weight: normal;
    font-style: normal;
    font-size: 16pt;
}
div {    
    text-align: center;
    text-transform: uppercase;
    color:black;
    }

 .ctx {
    padding: 10px;
    opacity: var(--ambient-opacity);
    transition: opacity 2s;
    cursor: text;
    }
.ctx:hover {
    opacity: 1;
    }

.ctx a {text-decoration: none; color: inherit; cursor: pointer; }


    .popup {
        position: fixed;                 /* JS sets left/top */
        margin: 0;
        width: min(60ch, 30vw);
        height: min(40vh, 560px);
        display: flex;
        flex-direction: column;
        border: 1px solid #ddd;
        padding: 0;
        background: #ffffffc8;

    }
    .popup-bar {
        display: flex;
        align-items: center;
        gap: .75rem;
        padding: .5rem .5rem .5rem .9rem;
        background: #f4f4f4;
        border-bottom: 1px solid #e2e2e2;
        cursor: grab;
        user-select: none;               /* stops text selecting while dragged */
        font: 400 .8rem/1.3 Unna, Georgia, serif;
    }
    .popup-bar.dragging { cursor: grabbing; }
    .popup-title { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: .85; }
    .popup-close { border: 0; background: none; font-size: 1.3rem; line-height: 1; cursor: pointer; padding: 0 .35rem; }
    .popup-close:hover { opacity: .5; }
    .popup iframe { flex: 1; width: 100%; border: 0; display: block; }
    .popup.dragging iframe { pointer-events: none; }   /* iframe would eat the mousemoves */