@font-face{font-family:Junicode;src:url(/fonts/Junicode-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Junicode;src:url(/fonts/Junicode-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Junicode;src:url(/fonts/Junicode-Italic.woff2) format("woff2");font-style:italic;font-display:swap}:root{--night: #07090d;--ink: #0d1118;--ash: #8c96a6;--bone: #f2efe6;--gold: #c9a45c;--ember: #b5503a;--line: rgba(200, 208, 222, .34);--h-hof: #d9a441;--h-krossavik: #6fa8dc;--h-hrafnkell: #c0675a;--h-njardvik: #7fbf8e;--h-droplaug: #b48ad6;--h-bessastadir: #d98bb0;--h-sida: #5fb8b0}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--night);color:var(--bone)}body{font-family:Junicode,Iowan Old Style,Georgia,serif;overflow:hidden}a{color:inherit}.ef{position:fixed;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 45%,rgba(40,52,72,.55),transparent 70%),radial-gradient(ellipse 120% 90% at 50% 120%,rgba(90,40,30,.18),transparent 60%),var(--night)}.ef:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 180px 60px #000000d9}.ef svg.tree{width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.ef.grabbing svg.tree{cursor:grabbing}.ef .stars{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#ef-vp.glide{transition:transform .55s cubic-bezier(.2,.7,.2,1)}.edges path{fill:none;stroke:var(--line);stroke-width:1.2;transition:opacity .3s,stroke .3s}.edges .union{stroke:var(--gold);stroke-opacity:.55;stroke-width:1.1}.edges .variant{stroke-dasharray:5 5;stroke:#9f8bbf;stroke-opacity:.7}.edges .union.betrothed{stroke-dasharray:6 5}.edges .foster{stroke:var(--ash);stroke-dasharray:1 5;stroke-linecap:round;stroke-width:1.6;opacity:0}.has-sel .edges .foster.lit{opacity:.9;stroke:#d7dbe4}.edges .folded{stroke-opacity:.4}.edges .union.across{stroke-width:7.1;stroke-opacity:.28}.edges mask path{stroke:#000;stroke-width:4.9}.has-sel .edges .union.across.lit{stroke-opacity:.9}.knot circle{fill:var(--night);stroke:var(--gold);stroke-width:1.3}.knot.variant circle{stroke:#9f8bbf;stroke-dasharray:2 2}.ef-says{color:var(--ash);font-size:12px}.knot .ord{font-size:9.5px;font-style:italic;fill:var(--gold);letter-spacing:.04em}.relaid .edges{opacity:0}.edges{transition:opacity .5s .25s}.person{cursor:pointer;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .3s;outline:none}.person .hit{fill:transparent}.person .name{fill:var(--bone);font-size:14.5px;letter-spacing:.01em;paint-order:stroke;stroke:var(--night);stroke-width:5px;stroke-linejoin:round}.person.r1 .name{font-size:17px;font-weight:700;letter-spacing:.03em;filter:drop-shadow(0 0 6px rgba(255,240,210,.28))}.person.r3 .name{font-size:12.5px;fill:#b9bdc6;font-style:italic}.person .slain{fill:var(--ember);font-size:11px}.person:hover .name,.person:focus-visible .name{fill:#fff}.person:focus-visible .hit{stroke:var(--gold);stroke-width:1}.person.arriving{animation:arrive .6s ease-out}@keyframes arrive{0%{opacity:0}}.person[class*=" h-"] .hit{fill:transparent}.fold{cursor:pointer}.fold circle{fill:#c9a45c24;stroke:var(--gold);stroke-width:1}.fold circle.reach{fill:transparent;stroke:none}.fold text{fill:var(--gold);font-size:9px;font-weight:700}.fold:hover circle:not(.reach){fill:#c9a45c59}.fold.open circle:not(.reach){fill:transparent;stroke-dasharray:2 2}.fold.open text{font-size:13px}.has-sel .person:not(.lit){opacity:.22}.has-sel .edges [data-of]:not(.lit){opacity:.12}.has-sel .edges .lit{stroke:#f6e3b4;stroke-opacity:.9}.person.chosen .name{fill:#fff6df;filter:drop-shadow(0 0 10px rgba(246,210,140,.8))}.has-house:not(.has-sel) .person:not(.in-house){opacity:.3}.person.in-house .name{filter:drop-shadow(0 0 7px currentColor)}.h-hof{color:var(--h-hof)}.h-krossavik{color:var(--h-krossavik)}.h-hrafnkell{color:var(--h-hrafnkell)}.h-njardvik{color:var(--h-njardvik)}.h-droplaug{color:var(--h-droplaug)}.h-bessastadir{color:var(--h-bessastadir)}.h-sida{color:var(--h-sida)}.person.in-house .name{fill:currentColor}.person .name{text-decoration:none}.ef-head{position:absolute;top:18px;left:22px;right:22px;display:flex;gap:18px;align-items:flex-start;justify-content:space-between;pointer-events:none;z-index:2}.ef-head>*{pointer-events:auto}.ef-title{margin:0}.ef-title .back{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);text-decoration:none}.ef-title .back:hover{color:var(--bone)}.ef-title h1{margin:6px 0 0;font-weight:400;font-size:clamp(22px,3.2vw,34px);letter-spacing:.14em;text-transform:uppercase;font-variant:small-caps;text-shadow:0 0 24px rgba(201,164,92,.35)}.ef-title .on{margin:2px 0 0;font-style:italic;color:var(--gold);letter-spacing:.06em}.ef-find{position:relative;width:min(280px,46vw)}.ef-find input{width:100%;font:inherit;font-size:15px;color:var(--bone);background:#0d1118d9;border:1px solid rgba(201,164,92,.4);border-radius:999px;padding:8px 16px;outline:none}.ef-find input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a45c26}.ef-find ul{list-style:none;margin:6px 0 0;padding:6px;position:absolute;width:100%;background:#0d1118f5;border:1px solid rgba(201,164,92,.3);border-radius:10px}.ef-find button{all:unset;display:block;width:100%;padding:6px 10px;border-radius:6px;cursor:pointer}.ef-find button:hover,.ef-find button:focus{background:#c9a45c26}.ef-foot{position:absolute;left:22px;right:22px;bottom:18px;display:flex;flex-wrap:wrap;gap:14px 22px;align-items:flex-end;justify-content:space-between;z-index:2;pointer-events:none}.ef-foot>*{pointer-events:auto}.ef-houses{display:flex;flex-wrap:wrap;gap:8px;max-width:760px}.ef-houses button,.ef-tools button{font:inherit;font-size:13px;color:var(--bone);background:#0d1118d1;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:5px 12px 5px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.ef-houses button:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.ef-houses button span{color:var(--bone)}.ef-houses button[aria-pressed=true]{border-color:currentColor;background:#ffffff0f}.ef-tools{display:flex;gap:6px}.ef-tools button{padding:5px 12px}.ef-tools [data-zoom]{width:34px;justify-content:center;padding:5px 0;font-size:16px}.ef-key{font-size:12px;color:var(--ash);display:flex;gap:16px;flex-wrap:wrap;margin-top:8px}.ef-key svg{vertical-align:middle;margin-right:4px}#ef-panel{position:absolute;top:104px;right:22px;width:min(360px,calc(100vw - 32px));max-height:calc(100% - 200px);overflow:auto;z-index:3;padding:22px 24px 20px;background:linear-gradient(180deg,rgba(201,164,92,.07),transparent 40%),#0a0d13f2;border:1px solid rgba(201,164,92,.35);border-radius:4px;box-shadow:0 20px 60px #0009,inset 0 0 0 4px #0a0d13f2,inset 0 0 0 5px #c9a45c2e;animation:card .25s ease-out}#ef-panel[hidden]{display:none}@keyframes card{0%{opacity:0;transform:translateY(6px)}}#ef-panel h2{margin:0;font-size:24px;letter-spacing:.02em;font-weight:700}#ef-panel h3{margin:18px 0 6px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:400}.ef-house{margin:0 0 4px;font-size:11px;letter-spacing:.22em;text-transform:uppercase}.ef-aka{margin:2px 0 0;color:var(--ash);font-style:italic}.ef-note{margin:12px 0 0;line-height:1.5;color:#d9d5ca}.ef-slain{color:var(--ember)}.ef-close{all:unset;position:absolute;top:10px;right:14px;font-size:22px;color:var(--ash);cursor:pointer}.ef-close:hover{color:var(--bone)}.ef-rel{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:14px 0 0;font-size:14px;line-height:1.45}.ef-rel dt{color:var(--ash);font-size:12px;letter-spacing:.06em;padding-top:2px}.ef-rel dd{margin:0}.ef-rel a{text-decoration:none;border-bottom:1px dotted rgba(201,164,92,.6)}.ef-rel a:hover{color:var(--gold)}.ef-sagas{list-style:none;margin:0;padding:0}.ef-sagas li+li{border-top:1px solid rgba(255,255,255,.07)}.ef-sagas a{display:flex;flex-direction:column;padding:8px 0;text-decoration:none}.ef-sagas a:hover .ef-saga{color:var(--gold)}.ef-saga{font-style:italic;font-size:16px}.ef-ch{font-size:12px;color:var(--ash);letter-spacing:.04em}.ef:not([data-js=on]){overflow:auto}.ef:not([data-js=on]) svg.tree{width:auto;height:auto;min-width:100%}.ef:not([data-js=on]) .ef-tools,.ef:not([data-js=on]) .ef-find{display:none}@media(max-width:700px){.ef-head{top:12px;left:16px;right:16px;flex-direction:column;gap:10px}.ef-find{width:100%}.ef-title .on{display:none}.ef-foot{left:16px;right:16px;bottom:12px}.ef-foot{flex-direction:column;align-items:stretch}.ef-houses{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.ef-houses button{flex:none}.ef-key{display:none}.ef-tools{justify-content:flex-end}#ef-panel{inset:auto 0 0;width:100%;max-height:62%;border-radius:12px 12px 0 0}}
