/* Northern Preserve / celestial navigation identity v3. Visual only: authentication remains server-side. */
.brand-symbol{overflow:visible}
.brand-symbol .symbol-ring{fill:none;stroke:var(--accent);stroke-width:.95;opacity:.72;transform-origin:30px 30px;animation:np-ring-enter 1s ease-out both}
.brand-symbol .symbol-cross{stroke:var(--accent);stroke-width:1.2;opacity:.58}
.brand-symbol .symbol-star{fill:var(--bg);stroke:var(--accent-strong);stroke-width:1.65;stroke-linejoin:round;stroke-dasharray:160;stroke-dashoffset:0;animation:np-star-trace 1.05s cubic-bezier(.23,.82,.2,1) .18s backwards;transition:filter .28s ease,stroke .28s ease}
.brand-symbol .symbol-n{fill:none;stroke:var(--text);stroke-width:1.15;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:28;stroke-dashoffset:0;animation:np-letter-trace .72s ease-out .68s backwards}
.brand-symbol .symbol-core{fill:var(--accent-strong);stroke:none}
.brand-symbol .symbol-glint{stroke:var(--text);stroke-width:1.15;stroke-linecap:round;opacity:0;animation:np-glint 1.15s ease-in-out .87s both}
.brand:hover .symbol-star{filter:drop-shadow(0 0 3px rgba(154,207,189,.45))}
@keyframes np-ring-enter{from{opacity:0;transform:scale(.9)}to{opacity:.72;transform:scale(1)}}
@keyframes np-star-trace{from{opacity:0;stroke-dashoffset:160}to{opacity:1;stroke-dashoffset:0}}
@keyframes np-letter-trace{from{opacity:0;stroke-dashoffset:28}to{opacity:1;stroke-dashoffset:0}}
@keyframes np-glint{0%,100%{opacity:0}32%,48%{opacity:.85}}
/* The secret entrance resembles a miniature printed seal, without a hover clue. */
.private-seal,.private-seal:hover,.private-seal:active{color:var(--quiet);background:transparent;box-shadow:none;cursor:default}
.private-seal svg,.private-seal:hover svg,.private-seal:active svg{width:17px;height:17px;transform:none;transition:none;overflow:visible}
.private-seal .seal-ring{stroke:currentColor;stroke-width:1.8;opacity:.7}
.private-seal .seal-star{stroke:currentColor;stroke-width:2.2;stroke-linejoin:round;fill:none;transform-origin:30px 30px}
.private-seal .seal-core{fill:currentColor;stroke:none;transform-origin:30px 30px}
.private-seal .seal-glint{stroke:var(--accent-strong);stroke-width:2.5;stroke-linecap:round;opacity:0}
.private-seal:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}
.private-seal.is-aligning .seal-star{animation:np-align .29s ease-out both}
.private-seal.is-aligning .seal-core{animation:np-core-pulse .29s ease-out both}
.private-seal.is-aligning .seal-glint{animation:np-seal-glint .29s ease-out both}
@keyframes np-align{from{transform:rotate(-13deg);stroke:var(--quiet)}to{transform:rotate(0);stroke:var(--accent-strong)}}
@keyframes np-core-pulse{35%{transform:scale(1.8);fill:var(--accent-strong)}100%{transform:scale(1)}}
@keyframes np-seal-glint{0%,100%{opacity:0}42%{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .brand-symbol .symbol-ring,.brand-symbol .symbol-star,.brand-symbol .symbol-n,.brand-symbol .symbol-glint,
  .private-seal.is-aligning .seal-star,.private-seal.is-aligning .seal-core,.private-seal.is-aligning .seal-glint{animation:none!important}
  .brand-symbol .symbol-star,.brand-symbol .symbol-n{stroke-dashoffset:0!important;opacity:1!important}
  .brand-symbol .symbol-ring{opacity:.72!important;transform:none!important}
}
