Hopf
by Chantal Roth
HTML
<!-- JSFiddle: paste EVERYTHING in this single block into the HTML panel.
Leave the CSS + JS panels empty. -->
<style>
html, body {
height: 100%;
margin: 0;
overflow: hidden;
background: #111;
font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}
#container {
position: fixed;
inset: 0;
}
/* Info overlay */
.overlay {
position: fixed;
inset: 0;
display: grid;
place-items: center;
background: rgba(0, 0, 0, 0.55);
z-index: 9999;
}
.hidden {
display: none !important;
}
.overlay-card {
width: min(900px, calc(100vw - 32px));
max-height: min(80vh, 720px);
overflow: auto;
background: rgba(20, 20, 20, 0.98);
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 12px;
box-shadow: 0 16px 60px rgba(0, 0, 0, 0.55);
}
.overlay-header {
position: sticky;
top: 0;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 14px 16px;
background: rgba(28, 28, 28, 0.98);
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.overlay-title {
font-weight: 700;
font-size: 16px;
color: rgba(255, 255, 255, 0.92);
}
.btn {
cursor: pointer;
border: 1px solid rgba(255, 255, 255, 0.18);
background: rgba(255, 255, 255, 0.06);
color: rgba(255, 255, 255, 0.92);
padding: 8px 12px;
border-radius: 10px;
font-weight: 600;
}
.btn:hover {
background: rgba(255, 255, 255, 0.10);
}
.overlay-body {
padding: 14px 16px 18px 16px;
color: rgba(255, 255, 255, 0.86);
line-height: 1.45;
font-size: 14px;
}
pre.math {
white-space: pre-wrap;
background: rgba(255, 255, 255, 0.05);
border: 1px solid rgba(255, 255, 255, 0.08);
padding: 12px;
border-radius: 10px;
overflow: auto;
}
.small {
...