.page-home{
  --ph-line:rgba(232,240,244,.14);
  --ph-line-soft:rgba(232,240,244,.08);
  --ph-glow-neon:rgba(57,255,136,.15);
  --ph-glow-cyan:rgba(0,212,255,.12);
  --ph-glow-orange:rgba(255,107,53,.15);
  color:var(--color-mist);
  background:linear-gradient(180deg,var(--color-ink) 0%,#0A1626 38%,var(--color-carbon) 100%);
  overflow-x:hidden;
}
.page-home img{
  max-width:100%;
  height:auto;
  display:block;
}
.page-home .ph-hero{
  padding:1rem 1rem 0;
}
.page-home .ph-frame{
  position:relative;
  border:1px solid rgba(232,240,244,.2);
  background:radial-gradient(ellipse at 85% 10%,var(--ph-glow-cyan),transparent 55%),linear-gradient(180deg,rgba(11,27,44,.85),rgba(13,13,15,.7));
  padding:0 1rem 1rem;
  box-shadow:var(--shadow-card);
}
.page-home .ph-frame::before,
.page-home .ph-frame::after{
  content:"";
  position:absolute;
  width:14px;
  height:14px;
  pointer-events:none;
}
.page-home .ph-frame::before{
  top:-1px;
  left:-1px;
  border-top:2px solid var(--color-neon);
  border-left:2px solid var(--color-neon);
}
.page-home .ph-frame::after{
  bottom:-1px;
  right:-1px;
  border-bottom:2px solid var(--color-orange);
  border-right:2px solid var(--color-orange);
}
.page-home .ph-frame-meta{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.7rem 0;
  font-size:var(--text-xs);
  color:var(--color-dim);
  letter-spacing:.12em;
  text-transform:uppercase;
  border-bottom:var(--border-fine);
  background-image:repeating-linear-gradient(90deg,rgba(232,240,244,.22) 0 1px,transparent 1px 14px);
  background-repeat:repeat-x;
  background-position:bottom;
  background-size:100% 2px;
}
.page-home .ph-frame-meta span:nth-child(2){
  display:none;
}
.page-home .ph-hero-grid{
  display:grid;
  gap:1.5rem;
  padding-top:1.5rem;
}
.page-home .ph-crumb{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:var(--text-xs);
  color:var(--color-dim);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.page-home .ph-crumb-current{
  color:var(--color-cyan);
}
.page-home .ph-crumb-sep{
  color:var(--color-neon);
}
.page-home .ph-hero-eyebrow{
  margin:1.25rem 0 .5rem;
  font-family:var(--font-mono);
  font-size:var(--text-small);
  color:var(--color-neon);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.page-home .ph-hero h1{
  margin:0 0 1rem;
  font-family:var(--font-display);
  font-size:var(--text-h1);
  font-weight:700;
  line-height:.95;
  letter-spacing:-.02em;
}
.page-home .ph-hero-desc{
  max-width:34rem;
  margin:1rem 0 0;
  font-size:var(--text-main);
  line-height:1.85;
  color:rgba(232,240,244,.82);
}
.page-home .ph-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.5rem;
}
.page-home .ph-hero-actions .button,
.page-home .ph-hero-actions .button--ghost{
  padding:.85rem 1.35rem;
}
.page-home .ph-hero-stats{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.75rem;
  margin:2rem 0 0;
  padding:0;
}
.page-home .ph-hero-stat{
  padding:.85rem 1rem;
  background:rgba(255,255,255,.025);
  border-left:2px solid var(--color-dim);
}
.page-home .ph-hero-stat dt{
  font-size:var(--text-xs);
  color:var(--color-dim);
  text-transform:uppercase;
  letter-spacing:.1em;
}
.page-home .ph-hero-stat dd{
  margin:.25rem 0 0;
  font-family:var(--font-display);
  font-size:clamp(1.5rem,3vw,2.25rem);
  font-weight:600;
  line-height:1.1;
  background:var(--grad-neon);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.page-home .ph-hero-visual{
  position:relative;
}
.page-home .ph-hero-visual img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border:1px solid var(--ph-line);
  filter:saturate(1.08) contrast(1.05);
}
.page-home .ph-visual-line{
  position:absolute;
  left:.75rem;
  bottom:.75rem;
  display:flex;
  align-items:center;
  gap:.5rem;
  padding:.4rem .7rem;
  background:rgba(11,27,44,.85);
  border:1px solid rgba(0,212,255,.35);
  color:var(--color-cyan);
  font-size:var(--text-xs);
  letter-spacing:.08em;
}
.page-home .ph-line-dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--color-neon);
  animation:ph-pulse-dot 1.8s ease-in-out infinite;
}
.page-home .ph-hero-svg{
  position:absolute;
  top:.75rem;
  right:.75rem;
  width:150px;
  height:auto;
  opacity:.7;
  pointer-events:none;
}
@keyframes ph-pulse-dot{
  0%,100%{box-shadow:0 0 0 0 rgba(57,255,136,.6)}
  50%{box-shadow:0 0 0 6px rgba(57,255,136,0)}
}
.page-home .ph-sticky-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:.5rem 1rem;
  margin-top:1.25rem;
  padding:1rem;
  background:linear-gradient(135deg,rgba(57,255,136,.08),rgba(0,212,255,.04));
  border:var(--border-fine);
  border-left:3px solid var(--color-neon);
}
.page-home .ph-star{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.25rem;
  height:2.25rem;
  border:1px solid rgba(57,255,136,.4);
  border-radius:50%;
  background:transparent;
  cursor:pointer;
  transition:background .2s,transform .2s;
}
.page-home .ph-star:hover{
  background:rgba(57,255,136,.15);
  transform:scale(1.06);
}
.page-home .ph-sticky-info{
  min-width:0;
}
.page-home .ph-sticky-label{
  display:block;
  font-size:var(--text-xs);
  color:var(--color-dim);
  text-transform:uppercase;
  letter-spacing:.1em;
}
.page-home .ph-sticky-name{
  display:block;
  margin-top:.2rem;
  font-family:var(--font-display);
  font-size:1.5rem;
  line-height:1.1;
}
.page-home .ph-sticky-meta{
  display:block;
  margin-top:.2rem;
  font-size:var(--text-xs);
  color:var(--color-cyan);
}
.page-home .ph-sticky-score{
  text-align:right;
}
.page-home .ph-score-status{
  display:block;
  font-size:var(--text-xs);
  color:var(--color-orange);
}
.page-home .ph-score-num{
  font-family:var(--font-display);
  font-size:1.75rem;
  font-weight:600;
}
.page-home .ph-sticky-foot{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:.5rem;
  padding-top:.65rem;
  border-top:1px dashed rgba(232,240,244,.12);
  font-size:var(--text-xs);
  color:var(--color-dim);
}
.page-home .ph-frame-bottom{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-top:1.25rem;
  padding-top:.75rem;
  border-top:var(--border-fine);
  font-size:var(--text-xs);
  color:var(--color-dim);
  text-transform:uppercase;
  letter-spacing:.12em;
}
.page-home .ph-frame-scale{
  flex:1;
  height:6px;
  background-image:repeating-linear-gradient(90deg,rgba(232,240,244,.25) 0 1px,transparent 1px 6px);
}
.page-home .ph-section-head{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding-bottom:1rem;
  border-bottom:var(--border-fine);
  margin-bottom:2rem;
}
.page-home .ph-section-num{
  font-family:var(--font-display);
  font-size:2.5rem;
  font-weight:700;
  line-height:1;
  color:transparent;
  -webkit-text-stroke:1px rgba(57,255,136,.55);
}
.page-home .ph-section-titles{
  flex:1;
}
.page-home .ph-section-sub{
  margin:0 0 .3rem;
  font-size:var(--text-xs);
  color:var(--color-cyan);
  text-transform:uppercase;
  letter-spacing:.12em;
}
.page-home .ph-section-titles h2{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(1.7rem,3.4vw,2.9rem);
  font-weight:600;
  line-height:1.08;
}
.page-home .ph-section-tag{
  align-self:center;
  flex-shrink:0;
  padding:.35rem .8rem;
  border:1px solid rgba(57,255,136,.4);
  color:var(--color-neon);
  font-size:var(--text-xs);
  white-space:nowrap;
}
.page-home .ph-panel-section{
  padding:4rem 0;
  background:radial-gradient(ellipse at 80% 20%,var(--ph-glow-cyan),transparent 55%),linear-gradient(180deg,rgba(13,13,15,.4),rgba(13,13,15,.8));
  border-top:var(--border-fine);
  border-bottom:var(--border-fine);
}
.page-home .ph-panel-grid{
  display:grid;
  gap:2rem;
}
.page-home .ph-panel-visual{
  position:relative;
}
.page-home .ph-panel-visual img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border:1px solid var(--ph-line);
}
.page-home .ph-panel-svg{
  position:absolute;
  bottom:.75rem;
  left:.75rem;
  width:140px;
  height:auto;
  opacity:.85;
  background:rgba(11,27,44,.7);
  padding:.35rem;
  border:1px solid rgba(0,212,255,.3);
}
.page-home .ph-panel-badge{
  position:absolute;
  top:.75rem;
  right:.75rem;
  padding:.3rem .7rem;
  background:rgba(11,27,44,.8);
  border:1px solid rgba(57,255,136,.4);
  color:var(--color-neon);
  font-size:var(--text-xs);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.page-home .ph-panel-lead{
  font-family:var(--font-display);
  font-size:clamp(1.15rem,2vw,1.45rem);
  line-height:1.6;
  margin:0 0 1.25rem;
  padding-left:1rem;
  border-left:3px solid var(--color-cyan);
}
.page-home .ph-panel-note{
  margin-top:1rem;
  font-size:var(--text-small);
  color:var(--color-dim);
  line-height:1.7;
}
.page-home .tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  margin:1rem 0 0;
}
.page-home .tab-btn{
  padding:.45rem .85rem;
  border:1px solid rgba(232,240,244,.18);
  background:transparent;
  color:var(--color-dim);
  font-family:var(--font-mono);
  font-size:var(--text-xs);
  letter-spacing:.05em;
  cursor:pointer;
  transition:color .2s,border-color .2s;
}
.page-home .tab-btn[aria-selected="true"]{
  color:var(--color-neon);
  border-color:rgba(57,255,136,.5);
}
.page-home .tab-panel{
  display:block;
  margin-top:.5rem;
}
.page-home .ph-panel-title{
  margin:1.25rem 0 0;
  font-family:var(--font-display);
  font-size:.95rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--color-dim);
}
.page-home .ph-ranking-list{
  list-style:none;
  margin:1rem 0 0;
  padding:0;
}
.page-home .ph-ranking-list li{
  display:grid;
  grid-template-columns:2.5rem 1fr auto;
  align-items:baseline;
  gap:.5rem;
  padding:.65rem .25rem;
  border-bottom:1px solid rgba(232,240,244,.1);
  font-size:var(--text-small);
}
.page-home .ph-ranking-list li span{
  color:var(--color-dim);
  font-family:var(--font-display);
}
.page-home .ph-ranking-list li strong{
  font-family:var(--font-display);
  font-size:1.1rem;
  color:var(--color-neon);
}
.page-home .ph-quick-rank{
  margin-top:1.5rem;
  border:1px solid rgba(255,107,53,.3);
  background:rgba(255,107,53,.06);
}
.page-home .ph-quick-rank summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:.85rem 1rem;
  cursor:pointer;
  list-style:none;
  color:var(--color-mist);
  font-size:var(--text-small);
}
.page-home .ph-quick-rank summary::-webkit-details-marker{
  display:none;
}
.page-home .ph-quick-rank-hint{
  color:var(--color-orange);
  font-size:var(--text-xs);
  text-transform:uppercase;
  letter-spacing:.1em;
}
.page-home .ph-quick-rank-body{
  padding:.75rem 1rem 1rem;
  border-top:1px dashed rgba(255,107,53,.2);
  font-size:var(--text-small);
  line-height:1.7;
  color:rgba(232,240,244,.8);
}
.page-home .ph-quick-rank-body a{
  display:inline-block;
  margin-top:.5rem;
  color:var(--color-neon);
  text-decoration:underline;
  text-underline-offset:.3em;
}
.page-home .ph-league-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  margin-top:2rem;
  padding:.9rem 1rem;
  background:rgba(255,255,255,.02);
  border:var(--border-fine);
}
.page-home .ph-league-strip span{
  padding:.25rem .65rem;
  border:1px solid rgba(232,240,244,.14);
  font-size:var(--text-xs);
  color:var(--color-mist);
}
.page-home .ph-league-strip .ph-league-total{
  border-color:transparent;
  background:var(--grad-neon);
  color:var(--color-ink);
  font-weight:700;
}
.page-home .ph-scorer-section{
  padding:4rem 0;
  background:radial-gradient(ellipse at 20% 80%,var(--ph-glow-orange),transparent 60%),var(--color-ink);
  border-bottom:var(--border-fine);
}
.page-home .ph-scorer-badge{
  align-self:center;
  flex-shrink:0;
  padding:.35rem .8rem;
  border:1px solid rgba(255,107,53,.4);
  color:var(--color-orange);
  font-size:var(--text-xs);
  white-space:nowrap;
}
.page-home .ph-scorer-grid{
  display:grid;
  gap:2rem;
  align-items:center;
}
.page-home .ph-timer{
  position:relative;
  padding:1.5rem;
  background:linear-gradient(135deg,rgba(255,107,53,.14),rgba(0,212,255,.06));
  border:1px solid rgba(255,107,53,.3);
  overflow:hidden;
}
.page-home .ph-timer::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:var(--grad-neon);
}
.page-home .ph-timer-label{
  font-size:var(--text-xs);
  color:var(--color-dim);
  text-transform:uppercase;
  letter-spacing:.12em;
}
.page-home .ph-timer-digits{
  display:flex;
  align-items:baseline;
  gap:.5rem;
  margin:.75rem 0 .25rem;
}
.page-home .ph-timer-num{
  font-family:var(--font-display);
  font-size:clamp(4rem,10vw,6.5rem);
  font-weight:700;
  line-height:.9;
  color:var(--color-orange);
  text-shadow:0 0 34px rgba(255,107,53,.35);
}
.page-home .ph-timer-unit{
  font-family:var(--font-mono);
  font-size:var(--text-small);
  color:var(--color-mist);
}
.page-home .ph-timer-note{
  font-size:var(--text-xs);
  color:var(--color-dim);
}
.page-home .ph-scorer-table{
  width:100%;
  border-collapse:collapse;
  margin-top:1.25rem;
  font-size:var(--text-small);
}
.page-home .ph-scorer-table th{
  padding:.7rem .5rem;
  text-align:left;
  color:var(--color-dim);
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:var(--text-xs);
  border-bottom:1px solid rgba(232,240,244,.2);
}
.page-home .ph-scorer-table td{
  padding:.75rem .5rem;
  border-bottom:1px solid rgba(232,240,244,.08);
}
.page-home .ph-scorer-table td:last-child{
  color:var(--color-neon);
  text-align:right;
  font-family:var(--font-display);
  letter-spacing:.03em;
}
.page-home .ph-scorer-visual img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border:1px solid var(--ph-line);
}
.page-home .ph-memory-section{
  padding:4rem 0;
  background:radial-gradient(ellipse at 90% 90%,var(--ph-glow-neon),transparent 60%),linear-gradient(180deg,var(--color-carbon),rgba(11,27,44,.4));
}
.page-home .ph-memory-badge{
  align-self:center;
  flex-shrink:0;
  padding:.35rem .8rem;
  border:1px solid rgba(0,212,255,.4);
  color:var(--color-cyan);
  font-size:var(--text-xs);
  white-space:nowrap;
}
.page-home .ph-memory-grid{
  display:grid;
  gap:2rem;
  align-items:center;
}
.page-home .ph-memory-lead{
  margin:0 0 .75rem;
  font-family:var(--font-display);
  font-size:clamp(1.15rem,2vw,1.5rem);
  line-height:1.55;
}
.page-home .ph-memory-text{
  margin:0 0 1.25rem;
  font-size:var(--text-small);
  color:rgba(232,240,244,.75);
  line-height:1.8;
}
.page-home .ph-memory-list{
  list-style:none;
  margin:0 0 1.5rem;
  padding:0;
}
.page-home .ph-memory-list li{
  position:relative;
  padding:.5rem 0 .5rem 1.75rem;
  border-bottom:1px solid rgba(232,240,244,.08);
  font-size:var(--text-small);
}
.page-home .ph-memory-list li::before{
  content:"+";
  position:absolute;
  left:0;
  color:var(--color-neon);
  font-weight:700;
}
.page-home .ph-memory-copy .button--ghost{
  margin-top:1rem;
}
.page-home .ph-memory-visual img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border:1px solid var(--ph-line);
}
.page-home .ph-guide-section{
  padding:4rem 0;
  background:linear-gradient(180deg,rgba(13,13,15,.6),rgba(11,27,44,.7));
}
.page-home .ph-guide-grid{
  display:grid;
  gap:1rem;
  margin-top:1.5rem;
}
.page-home .ph-guide-card{
  position:relative;
  display:block;
  padding:1.5rem 1.25rem;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(232,240,244,.1);
  border-left:3px solid var(--color-dim);
  text-decoration:none;
  color:var(--color-mist);
  transition:border-color .2s ease,transform .2s ease,background .2s ease;
  overflow:hidden;
}
.page-home .ph-guide-card:hover,
.page-home .ph-guide-card:focus-visible{
  border-left-color:var(--color-neon);
  background:rgba(57,255,136,.06);
  transform:translateY(-3px);
}
.page-home .ph-guide-num{
  display:block;
  font-family:var(--font-display);
  font-size:var(--text-small);
  color:var(--color-cyan);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.page-home .ph-guide-card h3{
  margin:.4rem 0 .3rem;
  font-family:var(--font-display);
  font-size:1.5rem;
  font-weight:500;
  line-height:1.2;
}
.page-home .ph-guide-card p{
  margin:0;
  font-size:var(--text-small);
  color:var(--color-dim);
  line-height:1.7;
  max-width:26rem;
}
.page-home .ph-guide-arrow{
  position:absolute;
  right:1rem;
  bottom:1rem;
  font-size:1.25rem;
  color:var(--color-neon);
  opacity:0;
  transform:translateX(-6px);
  transition:opacity .2s,transform .2s;
}
.page-home .ph-guide-card:hover .ph-guide-arrow,
.page-home .ph-guide-card:focus-visible .ph-guide-arrow{
  opacity:1;
  transform:none;
}
.page-home .ph-trust{
  padding:2.5rem 0;
  background:var(--color-carbon);
  border-top:var(--border-fine);
}
.page-home .ph-trust p{
  margin:0 auto;
  max-width:56rem;
  text-align:center;
  font-family:var(--font-display);
  font-size:clamp(1.1rem,2vw,1.5rem);
  line-height:1.75;
  color:rgba(232,240,244,.9);
}
.page-home .ph-trust-num{
  color:var(--color-neon);
}
@media (min-width:640px){
  .page-home .ph-frame-meta span:nth-child(2){
    display:inline;
  }
  .page-home .ph-section-num{
    font-size:3.2rem;
  }
  .page-home .ph-hero-stats{
    grid-template-columns:repeat(4,1fr);
  }
}
@media (min-width:860px){
  .page-home .ph-hero{
    padding:1.5rem 1.5rem 0;
  }
  .page-home .ph-hero-grid{
    grid-template-columns:1.1fr .9fr;
    align-items:center;
    gap:3rem;
    padding-top:2.5rem;
  }
  .page-home .ph-panel-grid{
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:3rem;
  }
  .page-home .ph-scorer-grid{
    grid-template-columns:1.05fr .95fr;
    gap:3rem;
  }
  .page-home .ph-memory-grid{
    grid-template-columns:1fr 1fr;
    gap:3rem;
  }
  .page-home .ph-guide-grid{
    grid-template-columns:repeat(12,1fr);
  }
  .page-home .ph-guide-card:nth-child(1){
    grid-column:span 7;
  }
  .page-home .ph-guide-card:nth-child(2){
    grid-column:span 5;
  }
  .page-home .ph-guide-card:nth-child(3){
    grid-column:span 4;
  }
  .page-home .ph-guide-card:nth-child(4){
    grid-column:span 4;
  }
  .page-home .ph-guide-card:nth-child(5){
    grid-column:span 4;
  }
}
@media (min-width:1100px){
  .page-home .ph-frame{
    padding-left:2rem;
    padding-right:2rem;
  }
  .page-home .ph-hero{
    padding:2rem 2rem 0;
  }
  .page-home .ph-panel-section,
  .page-home .ph-scorer-section,
  .page-home .ph-memory-section,
  .page-home .ph-guide-section{
    padding:5.5rem 0;
  }
}
