:root{--rune-gold:#d99a35;--rune-hot:#ffc45f;--rune-dim:#6f542c;--rune-glass:rgba(5,7,8,.88)}
.rune-node{position:absolute;transform:translate(-50%,-50%);width:74px;height:74px;border:1px solid rgba(217,154,53,.14);border-radius:50%;background:radial-gradient(circle,rgba(217,154,53,.06),rgba(0,0,0,.12) 52%,transparent 70%);filter:drop-shadow(0 0 8px rgba(217,154,53,.08));transition:filter .45s,background .45s,border-color .45s,transform .45s;overflow:visible}
.rune-node:before{content:attr(data-rune-index);position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);font:500 8px/1 'IBM Plex Mono',monospace;letter-spacing:.18em;color:rgba(220,170,88,.42);white-space:nowrap}
.rune-node:after{content:attr(data-rune-name);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translate(-50%,4px);opacity:0;font:500 8px/1.2 'IBM Plex Mono',monospace;letter-spacing:.15em;color:#ddb16d;white-space:nowrap;transition:.35s}
.rune-node:hover:after,.rune-node:focus-visible:after,.rune-node.is-active:after{opacity:.92;transform:translate(-50%,0)}
.rune-node:hover,.rune-node.is-active{border-color:rgba(255,190,79,.62);background:radial-gradient(circle,rgba(255,187,70,.16),rgba(40,22,4,.18) 50%,transparent 72%);filter:drop-shadow(0 0 10px rgba(255,180,58,.36)) drop-shadow(0 0 26px rgba(255,154,25,.14));transform:translate(-50%,-50%) scale(1.08)}
.rune-node svg{width:100%;height:100%;overflow:visible}.rune-node path{vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.rune-main{stroke:rgba(233,174,76,.76)!important;stroke-width:1.2!important;fill:none}.rune-scan{stroke:#ffd17c!important;stroke-width:.75!important;fill:none;stroke-dasharray:5 15;animation:runeScan 5.6s linear infinite}.rune-frag,.rune-ghost{fill:none!important}.rune-frag{stroke:rgba(255,167,36,.35)!important;stroke-width:.55!important}.rune-ghost{stroke:rgba(199,117,25,.18)!important;stroke-width:2!important;filter:blur(2px)}
@keyframes runeScan{to{stroke-dashoffset:-80}}
.ambient-rune{opacity:.23;animation:ambientBreath var(--dur,14s) ease-in-out infinite var(--delay,0s)}.ambient-rune:nth-of-type(3n){opacity:.13}.ambient-rune:nth-of-type(4n){filter:drop-shadow(0 0 7px rgba(255,171,50,.25))}.ambient-rune.glitch{animation:ambientBreath var(--dur,14s) ease-in-out infinite var(--delay,0s),runeGlitch 9s steps(1,end) infinite}.ambient-main{stroke:rgba(209,143,43,.46);stroke-width:1.1;fill:none}.ambient-frag{stroke:rgba(245,168,48,.22);stroke-width:.55;fill:none}.ambient-scan{stroke:rgba(255,203,111,.4);stroke-width:.6;fill:none;stroke-dasharray:2 12}.ambient-ghost{stroke:rgba(204,121,24,.13);stroke-width:3;fill:none;filter:blur(2px)}
@keyframes ambientBreath{0%,100%{opacity:.08}45%{opacity:.23}54%{opacity:.42}62%{opacity:.17}}@keyframes runeGlitch{0%,91%,100%{transform:translate(0,0)}92%{transform:translate(3px,-1px)}93%{transform:translate(-2px,1px)}94%{transform:translate(0,0)}}
.artist-rune{position:fixed;z-index:46;left:26px;bottom:30px;width:62px;height:62px;border:1px solid rgba(255,185,67,.3);border-radius:50%;background:radial-gradient(circle,rgba(255,174,45,.11),rgba(5,5,5,.7) 58%,rgba(0,0,0,.92));color:#e6a94a;cursor:pointer;display:grid;place-items:center;box-shadow:0 0 0 1px rgba(255,255,255,.02) inset,0 0 32px rgba(222,139,24,.08);transition:.4s}.artist-rune:hover{border-color:rgba(255,200,100,.72);box-shadow:0 0 30px rgba(231,146,24,.22);transform:scale(1.06)}.artist-rune svg{width:42px;height:42px}.artist-rune path,.artist-rune circle{fill:none;stroke:currentColor;stroke-width:1.1}.artist-rune span{position:absolute;left:75px;white-space:nowrap;font:500 8px/1.1 'IBM Plex Mono',monospace;letter-spacing:.18em;color:#b89059;opacity:.62}
.artist-chamber{position:fixed;z-index:120;inset:0;display:grid;grid-template-columns:1fr minmax(340px,620px);pointer-events:none;visibility:hidden}.artist-chamber.open{pointer-events:auto;visibility:visible}.artist-scrim{position:absolute;inset:0;background:rgba(0,0,0,.73);opacity:0;transition:.45s}.artist-chamber.open .artist-scrim{opacity:1}.artist-panel{grid-column:2;position:relative;height:100%;overflow:auto;background:linear-gradient(180deg,rgba(9,7,4,.98),rgba(2,3,4,.99));border-left:1px solid rgba(222,158,55,.25);padding:34px 34px 80px;transform:translateX(103%);transition:.58s cubic-bezier(.2,.8,.2,1);box-shadow:-20px 0 60px rgba(0,0,0,.45)}.artist-chamber.open .artist-panel{transform:translateX(0)}.artist-kicker{font:500 8px/1.4 'IBM Plex Mono',monospace;letter-spacing:.23em;color:#9e7541}.artist-title{font:400 clamp(44px,6vw,82px)/.9 'Cormorant Garamond',serif;margin:18px 0 24px;color:#eee5d8}.artist-voice{font:400 24px/1.35 'Cormorant Garamond',serif;color:#d8c8b1;border-left:1px solid rgba(219,154,53,.36);padding-left:22px}.artist-invitation{margin:26px 0;color:#d59a48;font:500 10px/1.8 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.artist-boundary{font:400 9px/1.7 'IBM Plex Mono',monospace;color:#706657;border-top:1px solid rgba(220,154,50,.13);padding-top:18px}.network-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:26px}.network-link{display:block;text-decoration:none;border:1px solid rgba(220,154,50,.18);padding:14px;background:rgba(255,255,255,.015);transition:.3s}.network-link:hover{border-color:rgba(255,188,77,.55);background:rgba(217,154,53,.045)}.network-link b{display:block;font:500 9px/1.4 'IBM Plex Mono',monospace;letter-spacing:.12em;color:#dfaa5b}.network-link small{font:400 7px/1.3 'IBM Plex Mono',monospace;letter-spacing:.12em;color:#72634d}.artist-close{position:absolute;right:25px;top:24px;border:0;background:none;color:#947b58;font:500 9px/1 'IBM Plex Mono',monospace;letter-spacing:.16em;cursor:pointer}.rune-legend{margin-top:34px;border-top:1px solid rgba(220,154,50,.16);padding-top:24px}.rune-legend h3{font:400 30px/1 'Cormorant Garamond',serif;margin:0 0 14px}.rune-legend-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rune-legend-item{border:1px solid rgba(220,154,50,.12);padding:11px}.rune-legend-item b{display:block;color:#ce9441;font:500 8px/1.2 'IBM Plex Mono',monospace;letter-spacing:.13em}.rune-legend-item span{display:block;color:#827668;font:400 8px/1.5 'IBM Plex Mono',monospace;margin-top:5px}
@media(max-width:760px){.artist-rune{left:14px;bottom:18px;width:52px;height:52px}.artist-rune span{display:none}.artist-chamber{grid-template-columns:1fr}.artist-panel{grid-column:1;width:94vw;margin-left:auto}.network-grid,.rune-legend-grid{grid-template-columns:1fr}.rune-node:after{display:none}}
@media(prefers-reduced-motion:reduce){.rune-scan,.ambient-rune{animation:none!important}}
