/* The camera zoom and the three parallax layers use independent transforms. */
body:has(dialog[open]){overflow:auto}body:has(dialog:modal){overflow:hidden}
.chart{height:clamp(910px,82vw,1130px);max-width:1390px;overflow:hidden;scroll-margin-top:8px;isolation:isolate}
.chart-camera{position:absolute;inset:0;transform-origin:0 0;will-change:transform;transition:none}
.motion-enabled .chart-camera{transition:transform 1.05s cubic-bezier(.22,.68,.2,1)}
.motion-enabled .chart-camera.dragging{transition:none}
.chart.is-zoomed{cursor:grab;touch-action:none}.chart.is-zoomed:active{cursor:grabbing}
.chart-camera .map-layer{transition:opacity .35s;will-change:transform}
.chart-camera .map-layer.inactive-layer .constellation-lines{opacity:.05}
.chart.hide-lines .constellation-lines{opacity:0!important}
.chart-camera .sigil-node{width:132px;transform:translate(-50%,-25px)}
.chart-camera .sigil-art{width:50px;height:50px}
.chart-camera .sigil-node[data-id="cthulhu"] .sigil-art{width:50px;height:50px}
.chart-camera .node-name{font-size:9px;letter-spacing:1.1px}
.chart-camera .node-epithet{font-size:10px;line-height:1.3;max-width:130px}
.chart-camera .band-one{top:30%}.chart-camera .band-two{top:54%}.chart-camera .band-three{bottom:.5%}
.chart-camera .orbit-one{width:56%;height:800px;bottom:69%}
.chart-camera .orbit-two{width:108%;height:840px;bottom:45.7%}
.chart-camera .orbit-three{width:144%;height:1100px;bottom:1%}
.chart-camera .coordinate{top:32px}
.chart.symbol-focus .sigil-node:not(.selected){opacity:.12}
.chart.symbol-focus .sigil-node.selected{opacity:1;z-index:7;color:#f3dfb2}
.chart.symbol-focus .sigil-node.selected .sigil-art{color:#ead4a3;filter:drop-shadow(0 0 9px #c8ac7377)}
.chart.symbol-focus .sigil-node.selected .sigil-art:after{border-color:#bca47b60;transform:scale(1)}
.chart.symbol-focus .sigil-node.selected .node-name{color:#f3e8ce}
.map-hud{position:absolute;z-index:15;left:4%;right:4%;top:10px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;gap:20px;color:#aaa388;font-size:9px;letter-spacing:.5px}
.map-hud>div{display:flex;align-items:center;gap:16px;pointer-events:auto}.map-hud button{pointer-events:auto}
.chart.symbol-focus .map-hud{right:420px}
.chart.is-zoomed .map-hud:after{content:'Przeciągnij tło, aby przesunąć mapę';position:absolute;left:0;top:41px;font-size:7px;letter-spacing:.4px;color:#777e8a}
#map-view-name{color:#777e8a;font-size:8px}
#map-reset{padding:6px 12px;background:#11161eeb;border:1px solid #b5a47e38;border-radius:3px;font-size:9px;color:#d1c4a6}
.zoom-controls{border:1px solid #b5a47e2b;background:#0d1118e6;border-radius:3px;gap:0!important;pointer-events:auto}
.zoom-controls button{font-size:16px;width:30px;height:30px;line-height:1;color:#c8b48a}
.zoom-controls button:hover{background:#bca47b15}.zoom-controls span{font-size:8px;min-width:35px;text-align:center;color:#9f9b8c}
.race-subfilters{position:relative;z-index:4;display:flex;justify-content:center;flex-wrap:wrap;gap:5px;padding:12px 20px 0}
.race-subfilters button{padding:6px 10px;border-bottom:1px solid transparent;color:#9296a0;font-size:8px}
.race-subfilters button.active{color:#c9b78d;border-bottom-color:#bca47b70}
.race-subfilters span{font-size:7px;color:#6e737d;margin-left:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.entity-dialog.map-detail{position:fixed;inset:100px 28px auto auto;margin:0;width:370px;max-height:calc(100dvh - 130px);z-index:40;overflow:auto;background:#0d1118f5;box-shadow:0 16px 65px #0008;backdrop-filter:blur(18px)}
.map-detail .detail-top{padding:30px 25px 21px}.map-detail .detail-top .sigil-art{width:65px;height:65px;margin-bottom:17px}
.map-detail .detail-top .eyebrow{font-size:6.5px;letter-spacing:1.6px}
.map-detail .detail-top h2{font-size:38px;overflow-wrap:normal}.map-detail .detail-epithet{font-size:19px}
.map-detail .detail-body{padding:23px 25px}.map-detail .detail-description{font-size:11px;line-height:1.9;margin-bottom:18px}
.map-detail .detail-meta{gap:15px;padding-top:16px}.map-detail .detail-meta dd{font-size:9px}
.map-detail .detail-meta dt{font-size:6px;letter-spacing:1.5px}.map-detail .detail-source{font-size:9px;margin-top:20px}
.map-detail .detail-navigation{padding:12px 17px}.map-detail .detail-navigation button{font-size:9px}
.map-detail .dialog-close{top:12px;right:13px;font-size:16px}
@media(min-width:1650px){.chart{max-width:1470px}.chart-camera .sigil-art,.chart-camera .sigil-node[data-id="cthulhu"] .sigil-art{width:55px;height:55px}.chart-camera .sigil-node{transform:translate(-50%,-27.5px)}.chart-camera .node-name{font-size:10px}.chart-camera .node-epithet{font-size:11px}.entity-dialog.map-detail{right:max(30px,calc((100vw - 1550px)/2))}}
@media(max-width:1000px) and (min-width:701px){.chart{height:1050px}.chart-camera .sigil-art,.chart-camera .sigil-node[data-id="cthulhu"] .sigil-art{width:42px;height:42px}.chart-camera .sigil-node{width:110px;transform:translate(-50%,-21px)}.chart-camera .node-name{font-size:7px;letter-spacing:.7px}.chart-camera .node-epithet{font-size:9px}.entity-dialog.map-detail{width:330px;right:17px}}
@media(max-width:700px){
  .chart{max-width:560px;scroll-margin-top:6px;margin-top:8px}
  .chart.symbol-focus .map-hud{right:15px}
  .chart-camera .sigil-node{width:105px;transform:translate(-50%,-22px)}
  .chart-camera .sigil-art,.chart-camera .sigil-node[data-id="cthulhu"] .sigil-art{width:44px;height:44px}
  .chart-camera .node-name{font-size:7px;letter-spacing:.6px}
  .chart-camera .node-epithet{font-size:9px;max-width:105px}
  .chart-camera .band-one{top:18.6%}.chart-camera .band-two{top:45.5%}.chart-camera .band-three{bottom:.3%}
  .chart-camera .orbit-one{width:200%;bottom:81.2%}.chart-camera .orbit-two{width:230%;bottom:54.4%}.chart-camera .orbit-three{width:260%;bottom:.5%}
  .chart-camera .coordinate{display:none}.map-hud{left:15px;right:15px;top:8px;font-size:8px}.map-hud>div{gap:8px}
  #map-view-name{font-size:7px;max-width:120px;line-height:1.5}#map-reset{padding:6px 9px;font-size:8px}
  .zoom-controls button{width:26px;height:27px}.zoom-controls span{min-width:29px;font-size:7px}
  .race-subfilters{padding:10px 12px 0;gap:3px}.race-subfilters button{font-size:7px;padding:5px 6px}
  .entity-dialog.map-detail{inset:auto 12px 12px 12px;width:auto;max-height:51dvh;border-radius:7px}
  .map-detail .detail-top{padding:19px 43px 15px;text-align:left;min-height:104px}
  .map-detail .detail-top .sigil-art{width:48px;height:48px;float:left;margin:2px 18px 5px -20px}
  .map-detail .detail-top .eyebrow{justify-content:flex-start;font-size:5.5px;letter-spacing:1px;margin-bottom:5px}
  .map-detail .detail-top h2{font-size:29px}.map-detail .detail-epithet{font-size:15px;margin-top:3px}
  .map-detail .detail-body{padding:18px 22px}.map-detail .detail-description{font-size:11px;line-height:1.8}
  .map-detail .detail-navigation{position:sticky;bottom:0;background:#0d1118;z-index:2}
}

/* Reserved space stays outside the moving symbol field. */
.chart{height:clamp(1150px,99vw,1370px)}
.section-rail{position:relative;display:flex;justify-content:center;flex-wrap:wrap;gap:15px 38px;margin:24px 4.5% 10px;padding:13px 0;border-top:1px solid #bca47b1c;border-bottom:1px solid #bca47b1c;color:#bba77c;font-size:8px;letter-spacing:1.5px;text-transform:uppercase}
.relation-legend{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;padding:4px 20px;font-size:8px;color:#92949c}.relation-legend span:before{content:'';display:inline-block;width:23px;height:1px;vertical-align:middle;margin-right:8px;background:#bca47b}.relation-legend .relation-conflict:before{background:#b27678}.relation-legend .relation-uncertain:before{background:repeating-linear-gradient(to right,#bca47b 0 3px,transparent 3px 6px)}
.relation-status{text-align:center;color:#777e8a;font-size:9px;margin:8px 20px 5px;min-height:16px}
.relation-lines{pointer-events:none;opacity:1;overflow:visible}.relation-lines path{stroke:#b59e75;opacity:.15;stroke-width:.75;transition:opacity .3s,stroke-width .3s}.relation-lines path[data-kind="conflict"],.relation-lines path[data-kind="predation"]{stroke:#bc797b}.relation-lines path[data-kind="uncertain"]{stroke-dasharray:3 5}.relation-lines path.is-related{opacity:.95;stroke-width:1.6;filter:drop-shadow(0 0 4px #c5a67580)}.relation-lines path.is-muted,.relation-lines path.filtered-edge{opacity:.025}
.chart-camera .sigil-node{will-change:translate}.chart.has-relation-focus .sigil-node.relation-muted{opacity:.14}.chart.has-relation-focus .sigil-node.relation-neighbor{opacity:1;color:#e4d4b0;z-index:5}.chart.has-relation-focus .sigil-node.relation-main{opacity:1;color:#ffe6ac;z-index:6}.relation-neighbor .sigil-art,.relation-main .sigil-art{filter:drop-shadow(0 0 8px #c9ad7355)}.chart.symbol-focus .sigil-node.relation-neighbor{opacity:.75}
.detail-relations{margin-top:24px;border-top:1px solid #bca47b2c;padding-top:22px}.detail-relations h3{font-size:26px;margin-bottom:14px}.relation-entry{padding:12px 0;border-bottom:1px solid #bca47b18}.relation-entry button{padding:0;text-align:left;color:#d6c096;font-size:12px;text-decoration:underline;text-underline-offset:3px}.relation-entry p,.audit-note{font-size:11px;line-height:1.8;color:#adb0b9;margin:7px 0}.relation-entry small{display:block;font-size:9px;line-height:1.7;color:#868d9b}.relation-entry small a{text-decoration:underline}.relation-tag{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#9ba5b5;display:block;margin-bottom:3px}.audit-citation{color:#9199a8;font-size:10px}.audit-citation summary{cursor:pointer;color:#bba77c}.audit-citation p{font-size:10px}.audit-note{padding:12px;background:#bca47b08;border-left:1px solid #bca47b40}.no-relation{font-size:11px;color:#9298a3}
@media(max-width:1000px) and (min-width:701px){.chart{height:1270px}}
@media(max-width:700px){.section-rail{font-size:6px;letter-spacing:.7px;gap:8px 14px;margin:18px 18px 10px;padding:10px 0}.relation-legend{font-size:7px;gap:7px 14px}.relation-status{font-size:8px;margin-top:10px}.detail-relations h3{font-size:24px}.relation-entry button{font-size:11px}}

.chart:not(.show-hypotheses) .relation-lines path[data-kind="uncertain"]{display:none}.view-controls{flex-wrap:wrap;justify-content:center}

.map-taxonomy-note{text-align:center;color:#6e7682;font-size:8px;margin:7px 20px 0}

/* Clipping must not create focus-scroll containers inside the sky. */
.cosmos,.chart{overflow:clip}

/* Readability: comfortable text sizes across the atlas. */
:root{--muted:#b4bac4}
body{font-size:16px}
.brand>span{font-size:14px}.brand small{font-size:10px;letter-spacing:1.1px}.site-header{height:98px;gap:20px}.site-header nav a,.search-trigger{font-size:14px}.site-header nav{gap:26px}.search-trigger kbd{font-size:12px}
.eyebrow,.cosmos-heading .eyebrow{font-size:12px;letter-spacing:2px}.intro{font-size:23px;color:#b8bac2}
.filter{font-size:14px;padding:10px 16px}.filter>span{font-size:12px}.filters{flex-wrap:wrap;justify-content:center}
.section-rail{font-size:12px;letter-spacing:1px;gap:14px 30px}.relation-legend{font-size:13px;gap:12px 22px;color:#bbc0c9}.relation-status{font-size:14px;color:#bdc4cf;min-height:24px}.map-taxonomy-note{font-size:12px;color:#a2abba}
.chart{height:2050px;max-width:1600px}
.chart-camera .sigil-node{width:160px;transform:translate(-50%,-30px)}
.chart-camera .sigil-art,.chart-camera .sigil-node[data-id="cthulhu"] .sigil-art{width:60px;height:60px}
.chart-camera .node-name{font-size:13px;letter-spacing:.45px;line-height:1.4;color:#e1e3dc;font-weight:600}
.chart-camera .node-epithet{font-size:16px;line-height:1.35;max-width:160px;color:#bac0cc;margin-top:5px}
.map-hud{font-size:13px}.map-hud>div{gap:14px}#map-view-name{font-size:13px;color:#b8c1cf}#map-reset{font-size:13px;padding:9px 13px}.zoom-controls button{width:40px;height:40px;font-size:22px}.zoom-controls span{font-size:13px;min-width:45px}.chart.is-zoomed .map-hud:after{font-size:12px;top:54px;color:#b8c1cf}.coordinate{font-size:10px;color:#a3a7b1}
.race-subfilters button{font-size:13px;padding:9px 12px}.race-subfilters span{font-size:12px;color:#b1b7c4}.race-subfilters button{color:#b8bfcc}
.map-hint,.view-button{font-size:13px;color:#b9c0cc}.map-bottom{gap:20px;flex-wrap:wrap}.view-controls{gap:15px}
.section-heading>p{font-size:16px;color:#b9c0cc}.library-tabs button,.library-search input{font-size:15px}.library-tabs{gap:24px}.library-search input{width:200px}.result-count{font-size:12px;color:#b8bfcb;letter-spacing:1px}
.entity-card h3{font-size:29px}.card-copy>span{font-size:15px;line-height:1.6;color:#bdc3ce}.card-copy small{font-size:11px;letter-spacing:.6px;color:#a8b1c0}.entity-card{padding:25px 0;gap:17px;min-height:145px}
.about-copy>p:not(.eyebrow),.sources-details p{font-size:16px;color:#bec5cf;line-height:1.85}.sources-details summary{font-size:15px}#source-links a{font-size:14px}.about-illustration>span{font-size:12px}footer,footer p{font-size:13px;color:#b2bac7}
.entity-dialog{width:690px}.detail-description,.map-detail .detail-description{font-size:16px;line-height:1.85;color:#c9cdd5}.detail-meta dt,.map-detail .detail-meta dt{font-size:12px;letter-spacing:1px}.detail-meta dd,.map-detail .detail-meta dd{font-size:15px}.detail-source,.map-detail .detail-source{font-size:14px}.detail-top .eyebrow,.map-detail .detail-top .eyebrow{font-size:11px;letter-spacing:1px}.detail-navigation,.detail-navigation button,.map-detail .detail-navigation button,#detail-position{font-size:13px;letter-spacing:.5px}.dialog-close,.map-detail .dialog-close{font-size:22px;min-width:40px;min-height:40px}
.entity-dialog.map-detail{width:450px;right:22px}.chart.symbol-focus .map-hud{right:500px}.map-detail .detail-top h2{font-size:42px}.map-detail .detail-epithet{font-size:23px}.map-detail .detail-body{padding:25px 28px}
.relation-entry button{font-size:16px}.relation-entry p,.audit-note,.no-relation{font-size:15px;line-height:1.85;color:#c0c7d3}.relation-entry small{font-size:13px;line-height:1.8;color:#aeb8c8}.relation-tag{font-size:11px;color:#b3bfd0;letter-spacing:.8px}.audit-citation,.audit-citation p{font-size:14px;line-height:1.8}.detail-relations h3{font-size:30px}.relation-entry{padding:18px 0}
.global-search input{font-size:16px}.search-result strong{font-size:25px}.search-result small{font-size:13px;color:#bac3d0}.search-footnote{font-size:12px;color:#aeb8c7}
@media(max-width:1100px){.site-header nav{gap:16px}.site-header nav a{font-size:13px}.brand small{font-size:8px}.brand>span{font-size:12px}.library-toolbar{flex-wrap:wrap}.entity-dialog.map-detail{width:410px}.chart.symbol-focus .map-hud{right:450px}.entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
.site-header{height:auto;min-height:100px;flex-wrap:wrap;gap:13px;padding:18px 20px}.brand>span{font-size:13px}.brand small{font-size:9px}.brand>svg{width:32px}.site-header nav{order:3;width:100%;height:auto;justify-content:center;gap:30px}.site-header nav a{font-size:14px}.search-trigger{margin-left:auto}.cosmos-heading .eyebrow{font-size:10px;letter-spacing:1.2px}.intro{font-size:20px}.filter{font-size:12px;padding:9px 10px;white-space:normal}.filters{gap:4px}.map-controls{padding:0 14px}.section-rail{font-size:11px;gap:9px 15px;line-height:1.8}.relation-legend{font-size:12px}.relation-status{font-size:13px}.map-taxonomy-note{font-size:11px}
.chart-camera .sigil-node{width:150px;transform:translate(-50%,-26px)}.chart-camera .sigil-art,.chart-camera .sigil-node[data-id="cthulhu"] .sigil-art{width:52px;height:52px}.chart-camera .node-name{font-size:12px;letter-spacing:.25px}.chart-camera .node-epithet{font-size:15px;max-width:150px}.map-hud{left:12px;right:12px}#map-view-name{font-size:12px;max-width:130px}.chart.symbol-focus .map-hud{right:12px}#map-reset{font-size:12px;padding:8px}.map-hud>div{gap:7px}.map-bottom{margin:0 18px}.map-hint{font-size:13px;line-height:1.8}.view-controls{gap:12px}.view-button{font-size:13px}.race-subfilters button{font-size:12px}.race-subfilters span{font-size:11px}
.section-heading>p{font-size:15px}.library-tabs{gap:12px;flex-wrap:wrap}.library-tabs button,.library-search input{font-size:14px}.entity-grid{grid-template-columns:1fr}.entity-card{min-height:115px}.entity-card .sigil-art{width:48px;height:48px}.entity-card h3{font-size:29px}.card-copy>span{font-size:15px}.card-copy small{font-size:11px}.about-copy>p:not(.eyebrow),.sources-details p{font-size:16px}.eyebrow{font-size:11px}footer,footer p{font-size:13px;line-height:1.8}
.entity-dialog{width:calc(100% - 24px)}.entity-dialog.map-detail{inset:auto 10px 10px 10px;width:auto;max-height:57dvh}.map-detail .detail-top{padding:20px 45px 18px}.map-detail .detail-top h2{font-size:32px;overflow-wrap:anywhere}.map-detail .detail-top .eyebrow{font-size:10px}.map-detail .detail-epithet{font-size:20px}.map-detail .detail-body{padding:22px}.detail-meta{grid-template-columns:1fr}.detail-description,.map-detail .detail-description{font-size:16px}.relation-entry p,.audit-note,.no-relation{font-size:15px}.relation-entry small{font-size:13px}.search-footnote{font-size:11px}.search-footnote span{display:none}
}


.symbol-note{padding:16px;border:1px solid #baa57c30;border-radius:4px;margin:22px 0;background:#baa57c08}.symbol-note strong{font-size:12px;color:#d6bf95;letter-spacing:.6px}.symbol-note p{font-size:14px;line-height:1.8;color:#bfc7d2;margin:8px 0 0}

/* Map gestures do not select labels or start native browser dragging. */
.cosmos,.cosmos *{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.entity-dialog,.entity-dialog *{-webkit-user-select:text;user-select:text}
.chart{cursor:grab;touch-action:pan-y pinch-zoom}
.chart.is-zoomed{touch-action:none}
.chart.is-panning,.chart.is-panning *{cursor:grabbing!important}
.chart-ornaments{pointer-events:none}
.chart.is-panned:not(.is-zoomed) .map-hud:after{content:'Przeciągnij mapę lub wróć do pełnego widoku';position:absolute;left:0;top:54px;font-size:12px;color:#b8c1cf}

/* One consistent palette across map, cards, search and detail panels. */
:root{--outer:#c5afff;--old:#e8c480;--races:#78d8c8}
.sigil-art[data-category="outer"]{--sigil-color:var(--outer)}
.sigil-art[data-category="old"]{--sigil-color:var(--old)}
.sigil-art[data-category="races"]{--sigil-color:var(--races)}
.sigil-art[data-category]{color:var(--sigil-color)!important;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--sigil-color) 22%,transparent))!important}
.sigil-art[data-category]:before{background:radial-gradient(circle,color-mix(in srgb,var(--sigil-color) 22%,transparent),transparent 70%)}
.sigil-node:is(:hover,:focus-visible,.selected,.relation-main,.relation-neighbor) .sigil-art[data-category]{filter:drop-shadow(0 0 8px color-mix(in srgb,var(--sigil-color) 65%,transparent))!important}
.sigil-node:is(:hover,:focus-visible,.selected) .sigil-art[data-category]:after{border-color:color-mix(in srgb,var(--sigil-color) 45%,transparent)}
.section-rail span:nth-child(1){color:var(--outer)}
.section-rail span:nth-child(2){color:var(--old)}
.section-rail span:nth-child(3){color:var(--races)}
