/* phnight 1.0.6 — Black Gold.
   Keep the black/gold presentation; add a Login action beside Register in the header.
   Legacy stylesheet path, handle and palette aliases are retained for compatibility;
   all accent colors now use the warm gold family. */
:root {
  --night:#080808; --ink:#11100e; --panel:#171511; --panel-deep:#0c0b09;
  --gold:#dcbc79; --gold-light:#f4dfb4; --gold-dark:#a3864d;
  --text:#f4f0e7; --muted:#bfbab0; --line:#49402e; --soft-line:#302b22;
  --violet:#d9b66e; --cyan:#eed59c; --rose:#c9ab71;
  --spectrum:linear-gradient(110deg,#edc47b,#f1c69e 32%,#b99550 61%,#efd9a3 94%);
  --card-radius:16px;
}
body {
  background:
    radial-gradient(ellipse 82% 570px at 90% 0, #6354332e, transparent 75%),
    radial-gradient(ellipse 60% 780px at 0 1350px, #4c463a12, transparent 80%),
    var(--night);
}
::selection { color:#0a0a09; background:#efd38f; }
h1 { font-family:'Trebuchet MS',Arial,Helvetica,sans-serif; font-weight:700; }
em { color:var(--gold-light); }
.eyebrow { color:var(--gold); }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
  outline:2px solid var(--cyan); outline-offset:5px;
}
.site-header {
  background:linear-gradient(105deg,#11100ff5,#0d0c0bf5 55%,#161614f5);
  border-bottom-color:#6b6352;
  box-shadow:0 9px 32px #0005;
}
.site-header::after {
  content:''; position:absolute; bottom:-1px; left:0; right:0; height:1px;
  background:var(--spectrum); opacity:.8; pointer-events:none;
}
.brand img { filter:drop-shadow(0 0 10px #dab36622); }
.nav-menu a { color:#d3ccbd; }
.nav-menu a:hover,.nav-menu a[aria-current=page],.current-menu-item>a { color:var(--gold-light); }
.nav-menu a[aria-current=page]::after,.current-menu-item>a::after {
  width:19px; height:2px; border-radius:2px; background:var(--spectrum);
}
.sub-menu {
  background:linear-gradient(150deg,#21201d,#141311);
  border-color:#776b51; border-radius:12px;
  box-shadow:0 20px 48px #0008,0 0 22px #c6a25519;
}
.btn {
  border:1px solid #ffe2a2; border-radius:9px;
  background:linear-gradient(115deg,#fce8b7 0%,#edbf65 44%,#f0cca2 78%,#ddbd79 100%);
  color:#191816;
  box-shadow:0 5px 20px #dca33513,0 0 19px #deba6c10,inset 0 1px #fff5;
  transition:background .18s,box-shadow .18s,border-color .18s;
}
.btn:hover {
  background:linear-gradient(115deg,#fff0c8,#ffda89 55%,#edcf8e);
  box-shadow:0 6px 24px #e7ac482d,0 0 20px #e1bd7022; border-color:#ffeecb;
}
.btn-ghost {
  color:var(--gold-light); border-color:transparent;
  background:linear-gradient(125deg,#191816,#181714) padding-box,var(--spectrum) border-box;
  box-shadow:inset 0 1px #f4e8ce0d;
}
.btn-ghost:hover {
  color:#fff2d1; border-color:transparent;
  background:linear-gradient(125deg,#2a2925,#201e1b) padding-box,var(--spectrum) border-box;
}
.btn-unavailable,.btn-unavailable:hover {
  color:#c6c2b9; background:#292723; border-color:#666053;
  box-shadow:none; cursor:not-allowed;
}
.home-intro {
  position:relative; isolation:isolate;
  background:
    radial-gradient(ellipse 70% 75% at 95% 20%,#836f4438,transparent 76%),
    radial-gradient(ellipse 42% 75% at 63% 93%,#49433728,transparent 78%),
    radial-gradient(ellipse 36% 58% at 0 20%,#6846231f,transparent 85%),#0b0b0a;
  border-bottom-color:#423c31;
}
.home-intro::before {
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:repeating-linear-gradient(125deg,transparent 0 104px,#f5e9ce06 105px,transparent 106px 209px);
}
.hero-copy h1 {
  font-family:'Trebuchet MS',Arial,Helvetica,sans-serif; font-weight:700;
  letter-spacing:-.065em; line-height:1.06; color:#ffe9bc; width:fit-content; max-width:100%;
}
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
  .hero-copy h1 {
    background:linear-gradient(108deg,#fff1d4 4%,#f5cf89 40%,#dbb970 65%,#f1d9a7 82%,#ccac6d);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  }
  .section-heading h2 em,.footer-opening>h2 em {
    background:var(--spectrum); -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
  }
}
.hero-lead { color:#f8f0eb; }
.hero-lead em { color:#f4d199; text-shadow:0 0 30px #b49b6420; }
.hero-desc { color:#c4beb0; }
.tiny-star { color:#efce87; text-shadow:0 0 15px #ebad5f88; }


.domain-line-card {
  --route-accent:#f0cd84; --route-dark:#4c342327;
  border:1px solid #695235; border-left:3px solid var(--route-accent);
  border-radius:12px;
  background:radial-gradient(ellipse at 100% 0,var(--route-dark),transparent 75%),linear-gradient(112deg,#1d1c1a,#151412 78%);
  box-shadow:0 7px 25px #0003,inset 0 1px #fff5d20d;
}
.domain-line-card:first-child { border-left:3px solid var(--route-accent); }
.domain-line-card.line-mobile {
  --route-accent:#e4ca8e; --route-dark:#9f87523b; border-color:#837350;
  border-left-color:var(--route-accent);
}
.domain-line-card.line-backup {
  --route-accent:#ceaf72; --route-dark:#5f50313b; border-color:#6e5d38;
  border-left-color:var(--route-accent);
}
.line-number { color:var(--route-accent); }
.line-label { color:var(--route-accent); }
.line-label span { color:#cecac3; }
.domain-line-card h2 { color:#f5efe3; }
.line-description { color:#bfb9ad; }
.line-open {
  border-color:var(--route-accent); color:var(--route-accent); border-radius:9px;
  background:#ffffff05; max-width:100%; box-shadow:0 0 16px var(--route-dark);
}
.line-open:hover { background:var(--route-accent); color:#181714; }
.hero-visual {
  border:1px solid transparent; border-radius:24px;
  background:linear-gradient(#0e0e0d,#131210) padding-box,
    linear-gradient(145deg,#d9b46a,#947d4c 36%,#d5b673 70%,#d9b66c) border-box;
  box-shadow:0 20px 55px #0006,12px -10px 65px #73613b1f,-8px 12px 40px #72613b14;
  isolation:isolate;
}
/* Subtle gold stage lighting; the existing source artwork is retained. */
.hero-visual::before {
  content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:
    radial-gradient(ellipse at 87% 27%,#dcb2593b,transparent 62%),
    radial-gradient(ellipse at 15% 64%,#d5a43a32,transparent 61%),
    radial-gradient(ellipse at 7% 0,#dbad6222,transparent 40%);
  mix-blend-mode:screen;
}
.hero-visual>img { position:relative; z-index:1; }
.hero-visual figcaption {
  position:relative; z-index:3; border-top-color:#716854;
  background:linear-gradient(110deg,#23221f,#1c1b18);
}
.hero-visual figcaption p { color:#f2f1ee; }
.visual-seal { color:#c7c3ba; }
.section-heading>p { color:#bab3a6; }
.feature-card {
  --feature-accent:#f1cd8a;
  border:1px solid transparent; border-radius:var(--card-radius);
  background:linear-gradient(136deg,#22211e,#141312) padding-box,
    linear-gradient(130deg,#ae895575,#9a886166,#72644555) border-box;
  box-shadow:0 10px 25px #0002;
}
.feature-card:nth-child(2),.feature-card:nth-child(5) {
  --feature-accent:#e2c98f;
  background:linear-gradient(136deg,#302c24,#151412) padding-box,
    linear-gradient(130deg,#c5b28885,#92826066,#6d655555) border-box;
}
.feature-card:nth-child(3),.feature-card:nth-child(6) {
  --feature-accent:#d9bb81;
  background:linear-gradient(136deg,#24221f,#161614) padding-box,
    linear-gradient(130deg,#8e877685,#80725466,#8b766055) border-box;
}
.feature-card:hover {
  border-color:var(--feature-accent);
  box-shadow:0 8px 32px #826f4725,inset 0 0 35px #f6ecd505;
}
.feature-icon { color:var(--feature-accent); filter:drop-shadow(0 0 10px #b4afa433); }
.feature-index { color:var(--feature-accent); }
.feature-card h3 { color:#f4eee3; }
.feature-card>p { color:#c8c4bc; }
.feature-footer { border-top-color:#6d665666; color:var(--feature-accent); }
.copy-card,.side-card,.faq-group,.content-card {
  border-color:#484337; border-radius:var(--card-radius);
  background:linear-gradient(132deg,#1c1b19,#171614 72%);
  box-shadow:0 8px 28px #0002;
}
.copy-card { position:relative; }
.copy-card::after {
  content:''; position:absolute; top:0; left:27px; right:27px; height:1px;
  background:var(--spectrum); opacity:.68; pointer-events:none;
}
.copy-card h2,.prose h2 { color:#f1dfc0; }
.copy-card h3,.prose h3 { color:#e8deca; }
.prose p,.prose li { color:#c4beb1; }
.prose strong { color:#f7f3e9; }
.prose a { color:#f4d995; }
.prose a:hover { color:#ebd4a2; }
.prose blockquote,.notice-box { border-left-color:var(--violet); border-radius:0 12px 12px 0; background:#252421; }
.side-directory {
  border-top:2px solid #d4b073;
  background:radial-gradient(ellipse at 90% 0,#b3945222,transparent 70%),#171511;
}
.side-card h2 { color:#edecea; }
.side-links a { border-bottom-color:#4a4437; color:#d9d6d0; }
.side-links a::after { color:var(--cyan); }
.side-icon { color:var(--gold-light); }
.side-support { background:linear-gradient(147deg,#332f26,#1c1b19); border-color:#736953; }
.pause-card { background:radial-gradient(ellipse at 100% 0,#a3774335,transparent 75%),#1a1917; border-color:#735b40; }
.page-shell {
  background:radial-gradient(ellipse 75% 620px at 100% 0,#66563426,transparent 76%),
    radial-gradient(ellipse 48% 430px at 0 110px,#5e503118,transparent 75%);
}
.breadcrumbs { color:#c4c0b7; }
.page-heading h1 { color:#f1e7d2; letter-spacing:-.045em; }
.heading-rule { width:96px; height:2px; border-radius:2px; background:var(--spectrum); }
.main-entry-card {
  border:1px solid transparent; border-radius:16px;
  background:radial-gradient(ellipse at 0 0,#87603325,transparent 70%) padding-box,
    linear-gradient(122deg,#23221f,#201f1c 62%,#1e1d1b) padding-box,
    var(--spectrum) border-box;
  box-shadow:0 10px 30px #0003,0 0 20px #c09e5517;
}
.entry-emblem { color:var(--gold-light); filter:drop-shadow(0 0 9px #e6b94435); }
.main-entry-card h2 { color:#ffebc9; }
.main-entry-card p { color:#ccc9c1; }
.entry-action small { color:#c4bfb6; }
.page-overview { border-bottom-color:#484337; }
.page-intro { color:#e4e3df; }
.page-illustration {
  position:relative; border:1px solid #837860; border-radius:14px;
  box-shadow:0 8px 24px #0003;
}
.page-illustration::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 95% 0,#dcb56226,transparent 73%),
    radial-gradient(ellipse at 5% 100%,#c59a3c26,transparent 65%);
  mix-blend-mode:screen;
}
.page-kind-account .page-copy>.copy-card::before { color:#e2c18f; }
.page-kind-account .page-overview { background:linear-gradient(110deg,#3d382e30,transparent); }
.page-kind-membership .copy-card:first-child {
  background:linear-gradient(125deg,#373229,#24221f 55%,#191815); border-color:#85643d;
}
.page-kind-play .copy-card:nth-child(even) { border-left-color:var(--cyan); }
.page-kind-policy .page-copy { border-color:#595140; border-radius:16px; overflow:hidden; }
.page-kind-policy .copy-card {
  border-radius:0; background:linear-gradient(115deg,#1a1916,#171614);
  border-bottom-color:#443f34; box-shadow:none;
}
.page-kind-policy .copy-card::after { display:none; }
.faq-group details { border-top-color:#574f3d; }
.faq-group summary::after { color:var(--cyan); }
.faq-group details[open] summary { color:var(--gold-light); }
.contact-destination { border-radius:16px; border-color:#7e745d; background:linear-gradient(135deg,#322e26,#1b1a18); }
.site-footer {
  position:relative; border-top-color:#766d5a;
  background:
    radial-gradient(ellipse 68% 80% at 0 0,#967f4d29,transparent 80%),
    radial-gradient(ellipse 50% 80% at 100% 90%,#514b3d25,transparent 80%),#0e0d0c;
}
.site-footer::before {
  content:''; position:absolute; top:-1px; left:0; right:0; height:1px;
  background:var(--spectrum); opacity:.8; pointer-events:none;
}
.footer-opening { border-bottom-color:#4b4538; }
.footer-opening>h2 { color:#f5f1e7; }
.footer-orbit { color:#d7b47c; filter:drop-shadow(0 0 14px #a68d5644); }
.footer-statement p,.footer-brand>p { color:#c6c2b9; }
.footer-column h3 { color:#f1d18e; }
.footer-column a { color:#cdcac2; }
.footer-column a:hover { color:var(--cyan); }
.footer-bottom { border-top-color:#433e33; }
.footer-bottom p { color:#bbb7ac; }
.float-btn {
  background:linear-gradient(145deg,#2b2a26f5,#141312f5); border-color:#8d735b;
  box-shadow:0 5px 22px #0008,0 0 12px #97815322;
}
.float-btn.fb { color:#ebd196; border-color:#998458; }
.float-btn.wa { color:#ebd196; border-color:#7c6b47; }
.float-btn.tg { color:#ebd196; border-color:#8d7b53; }
.float-btn.top { border-color:#bd9756; }
.float-btn.unconfigured,.float-btn.unconfigured:hover { background:#191815; color:#b4afa4; border-color:#6b6353; box-shadow:none; }
input,textarea,select { background:#181715; border-color:#6a5f47; border-radius:8px; }
@media(max-width:1100px) {
  .menu-toggle { background:linear-gradient(145deg,#332f26,#1b1a17); border-color:#b99772; border-radius:8px; }
  .primary-nav {
    background:linear-gradient(155deg,#242320eF,#161614ef); border-color:#928a79;
    border-radius:14px; box-shadow:0 20px 55px #000b; backdrop-filter:blur(18px);
  }
  .sub-menu,.sub-menu .sub-menu { background:transparent; border-radius:0; border-left-color:#dfc895; }
  .nav-menu a { border-bottom-color:#5d5440; }
}
@media(max-width:800px) {
  .hero-visual { border-radius:18px; }
  .hero-copy h1 { font-size:72px; }
}
@media(max-width:600px) {
  .hero-copy h1 { font-size:61px; margin-bottom:14px; }
  .hero-lead { font-size:29px; }
  .home-intro { background:radial-gradient(ellipse 90% 58% at 100% 0,#77653e38,transparent 76%),radial-gradient(ellipse at 0 80%,#4d473a20,transparent 80%),#0b0b0a; }
  .domain-line-card { border-radius:11px; }
  .feature-card { border-radius:13px; }
  .copy-card,.side-card,.faq-group,.main-entry-card { border-radius:13px; }
  .page-kind-policy .copy-card { border-radius:0; }
  .page-heading h1 { font-size:37px; }
  .page-shell { background:radial-gradient(ellipse 100% 520px at 100% 0,#6656342b,transparent 76%); }
}
@media(max-width:359px) {
  .hero-copy h1 { font-size:51px; }
  .page-heading h1 { font-size:32px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; }
}
@media(forced-colors:active) {
  .hero-copy h1,.section-heading h2 em,.footer-opening>h2 em {
    background:none; -webkit-text-fill-color:CanvasText; color:CanvasText;
  }
  .hero-visual::before,.page-illustration::after { display:none; }
  .btn,.main-entry-card,.feature-card,.domain-line-card { border:1px solid ButtonText; }
}
@media print {
  body,.page-shell,.home-intro,.copy-card,.content-card { background:#fff!important; }
  .hero-copy h1,.section-heading h2 em,.footer-opening>h2 em {
    background:none; -webkit-text-fill-color:#000; color:#000;
  }
  .page-heading h1,.copy-card h2,.prose h2,.prose h3,.prose p,.prose li { color:#000; }
  .hero-visual::before,.page-illustration::after,.copy-card::after,.home-intro::before { display:none; }
  .hero-visual,.copy-card,.content-card { box-shadow:none; }
}

/* Desktop: equal left/right grid tracks keep the menu at the viewport centre,
   independent of the different logo and account-action widths. */
@media (min-width:1101px) {
  .header-inner {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    column-gap:clamp(16px,2vw,26px);
  }
  .header-inner>.brand,.header-inner>.custom-logo-link {
    justify-self:start; max-width:100%; min-width:0;
  }
  .header-inner>.primary-nav {
    margin:0; justify-self:center; min-width:0;
  }
  .header-inner>.header-actions { justify-self:end; min-width:0; }
  .header-inner .nav-menu { justify-content:center; gap:clamp(12px,1.45vw,21px); }
  .header-inner>.brand img,.header-inner>.custom-logo-link img { max-width:100%; }
}

/* Shared header account actions: Login uses the existing black/gold outline.
   Links use the native page-role helper; the mobile menu remains unchanged. */
.header-actions { display:flex; align-items:center; gap:12px; }
.header-actions>.btn { flex:0 0 auto; white-space:nowrap; }
@media (max-width:600px) {
  .header-actions { gap:8px; }
}
@media (max-width:359px) {
  .header-actions { gap:6px; }
}

/* phnight 1.0.6: literal lowercase branding and the inner-page return card.
   Kept outside .page-copy so policy, FAQ and account layouts retain their styling. */
.brand-case { text-transform:none; }
.return-home-card {
  position:relative;
  isolation:isolate;
  width:100%;
  min-width:0;
  margin:32px 0 0;
  padding:clamp(24px,3.2vw,38px);
  border:1px solid #806737;
  border-radius:var(--card-radius);
  background:radial-gradient(ellipse at 0 0,#c19b4130,transparent 68%),
    linear-gradient(125deg,#201c14,#12110e 65%,#0d0d0b);
  box-shadow:0 12px 30px #0003,inset 0 1px #f4ddb812;
}
.return-home-card::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  border-radius:inherit;
  background:radial-gradient(ellipse at 100% 100%,#aa823b12,transparent 55%);
}
.return-home-card>.eyebrow { color:#e5c17b; margin:0 0 14px; line-height:1.6; }
.return-home-card h2 {
  color:#f4dfb4;
  font-size:clamp(28px,2.7vw,38px);
  line-height:1.16;
  margin:0 0 17px;
  overflow-wrap:anywhere;
}
.return-home-card .return-home-copy {
  max-width:66ch;
  color:#ccc5b5;
  font-size:15px;
  line-height:1.85;
  margin:0 0 23px;
}
.return-home-card .return-home-button {
  min-height:48px;
  max-width:100%;
  padding:13px 23px;
  font-size:13px;
  gap:18px;
}
.return-home-button>span:last-child { display:inline-flex; flex:none; }
.return-home-button svg { width:20px; height:20px; }
@media(max-width:600px) {
  .return-home-card { margin-top:24px; padding:24px 21px; border-radius:13px; }
  .return-home-card .return-home-copy { font-size:14px; line-height:1.8; }
  .return-home-card>.eyebrow { font-size:9px; letter-spacing:.14em; }
}
@media(max-width:359px) {
  .return-home-card { padding:22px 17px; }
  .return-home-card h2 { font-size:26px; }
}
@media(forced-colors:active) {
  .return-home-card { border:1px solid CanvasText; background:Canvas; }
  .return-home-card::after { display:none; }
  .return-home-card h2,.return-home-card p { color:CanvasText; }
}
@media print {
  .return-home-card { background:#fff!important; box-shadow:none; break-inside:avoid; }
  .return-home-card::after { display:none; }
  .return-home-card h2,.return-home-card p { color:#000; }
}
