.ph-main { max-width: var(--qe-layout-content-max); margin: 0 auto; padding: var(--qe-space-2xl) var(--qe-layout-gutter) var(--qe-space-4xl); display: grid; gap: var(--qe-space-xl); }
.ph-main--narrow { max-width: 440px; padding-top: var(--qe-space-4xl); }
.ph-mark { width: var(--qe-size-avatar-md); height: var(--qe-size-avatar-md); background: currentColor; -webkit-mask: url("/_static/earthena-mark.svg") no-repeat center / contain; mask: url("/_static/earthena-mark.svg") no-repeat center / contain; }
.ph-brand-sub { color: var(--qe-color-dark-text-secondary); font-weight: var(--qe-font-weight-regular); }
.qe-header__brand { color: inherit; text-decoration: none; }
.ph-user { margin-left: auto; display: flex; align-items: center; gap: var(--qe-space-md); font-size: var(--qe-text-label-md-size); }
.ph-user form { margin: 0; }
.ph-user .qe-btn--ghost { background: transparent; color: var(--qe-color-dark-text); border: 1px solid var(--qe-color-dark-border); }
.ph-user .qe-btn--ghost:hover { background: var(--qe-color-dark-panel); }
.ph-form { display: grid; gap: var(--qe-space-md); }
.ph-form .qe-btn { width: 100%; justify-content: center; margin-top: var(--qe-space-xs); }
.ph-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--qe-space-sm); }
.ph-list a { display: flex; align-items: center; justify-content: space-between; height: var(--qe-size-list-row); padding: 0 var(--qe-space-md); border: 1px solid var(--qe-color-border-default); border-radius: var(--qe-radius-md); color: var(--qe-color-text-primary); text-decoration: none; font-weight: var(--qe-font-weight-medium); }
.ph-list a:hover { background: var(--qe-color-purple-tint-50); border-color: var(--qe-color-brand-resilience); color: var(--qe-color-brand-resilience); }
.ph-list a::after { content: "\2192"; color: var(--qe-color-text-tertiary); }
.ph-section { display: grid; gap: var(--qe-space-md); }
.ph-section h2 { margin: 0; font-size: var(--qe-text-h5-size); line-height: var(--qe-text-h5-line); font-weight: var(--qe-text-h5-weight); }
.ph-filter { display: flex; gap: var(--qe-space-xs); flex-wrap: wrap; }
.ph-filter a { text-decoration: none; }
.ph-mono { font-variant-numeric: var(--qe-font-numeric); white-space: nowrap; }
@media (max-width: 640px) {
  .ph-main { padding-left: var(--qe-layout-gutter-mobile); padding-right: var(--qe-layout-gutter-mobile); }
  .qe-header { padding: 0 var(--qe-layout-gutter-mobile); gap: var(--qe-space-md); }
  .qe-header__nav { display: none; }
}
.ph-create { display: grid; gap: var(--qe-space-md); max-width: 560px; }
.ph-fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: var(--qe-space-xs); }
.ph-fieldset legend { padding: 0; margin-bottom: var(--qe-space-xs); }
.ph-created h2 { margin: 0 0 var(--qe-space-md); font-size: var(--qe-text-h5-size); line-height: var(--qe-text-h5-line); font-weight: var(--qe-text-h5-weight); }
.ph-access { display: flex; flex-wrap: wrap; align-items: center; gap: var(--qe-space-xs); padding: var(--qe-space-xs) 0; }
.ph-inline { margin: 0; display: inline-flex; align-items: center; gap: var(--qe-space-xs); }
.ph-select { width: auto; min-width: 140px; height: var(--qe-size-control-sm); }
.ph-danger { color: var(--qe-color-status-alert); }
.qe-table--dense td { height: auto; min-height: 36px; padding-top: var(--qe-space-xs); padding-bottom: var(--qe-space-xs); }
