@layer legacy {
* {
  box-sizing: border-box;
}

.native-screen {
  margin: 0;
}

.native-screen {
  min-height: 100%;
}

.native-screen {
  margin: 0;
}

.native-screen.app-page {
  min-height: 100dvh;
  padding: clamp(24px, 5vw, 64px) 16px;
  overflow-x: hidden;
  overscroll-behavior-y: none;
}

.card {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(26px, 4vw, 40px);
}

.card.wide,
.wide {
  max-width: 1160px;
}

.app-brand-mini {
  display: flex;
  justify-content: center;
  margin-bottom: 26px;
}

.app-brand-mark {
  width: min(260px, 76vw);
  text-align: center;
}

.app-brand-mark img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.app-brand-mark span {
  display: block;
  margin-top: -6px;
  font-size: clamp(22px, 5vw, 34px);
  line-height: 1;
  padding-left: 0.38em;
}

h1 {
  margin: 0 0 18px;
  font-size: clamp(26px, 4vw, 34px);
}

h2 {
  font-size: 20px;
}

p {
  line-height: 1.85;
}

form {
  margin-top: 26px;
}

label {
  display: block;
  margin-top: 18px;
  margin-bottom: 8px;
  font-weight: 700;
}

input,
select,
textarea {
  width: 100%;
  padding: 13px 14px;
  font-size: 16px;
  outline: none;
}

.form-help {
  margin: 7px 0 0;
  font-size: 13px;
  line-height: 1.6;
}

.age-preview {
  font-weight: 700;
}


.setup-icon-field {
  margin-top: 22px;
}

.setup-icon-preview-card {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 14px;
}

.setup-icon-preview {
  width: 74px;
  height: 74px;
  object-fit: cover;
}

.setup-icon-preview-text span {
  display: block;
  max-width: 100%;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.setup-icon-preview-text small {
  display: block;
  margin-top: 5px;
  line-height: 1.55;
}

.setup-icon-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  margin-top: 12px;
  margin-bottom: 0;
  padding: 14px 18px;
  font-size: 16px;
  font-weight: 900;
}

.setup-icon-button:hover {
  transform: translateY(-2px);
}

.setup-icon-button-mark {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  font-size: 20px;
  line-height: 1;
}

.setup-icon-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.setup-icon-input:focus + .form-help,
.setup-icon-button:focus-visible {
  outline: 3px solid rgba(212, 175, 55, 0.35);
  outline-offset: 3px;
}

@media (max-width: 520px) {
  .setup-icon-preview-card {
    grid-template-columns: 64px minmax(0, 1fr);
    padding: 12px;
  }

  .setup-icon-preview {
    width: 64px;
    height: 64px;
  }
}

button,
.button-link {
  width: 100%;
  margin-top: 26px;
  padding: 14px 18px;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none;
  text-align: center;
}

button:hover,
.button-link:hover {
  transform: translateY(-2px);
  opacity: 1;
}

.form-help-invalid {
  font-weight: 700;
}

button:disabled,
button:disabled:hover {
  opacity: 0.42;
  transform: none;
}

.error,
.success,
.note,
.info,
.content-box,
.rules-box {
  position: relative;
  margin-top: 22px;
  padding: 16px 18px;
}

.error {
  border-left: 4px solid #e35b5b;
}

.success {
  border-left: 4px solid #49c878;
}

.note {
  border-left: 4px solid #d4af37;
}

.rules-box {
  max-height: 52vh;
  overflow: auto;
  line-height: 1.85;
}

.rules-box h1,
.rules-box h2,
.rules-box h3,
.content-box h1,
.content-box h2,
.content-box h3 {
  margin-top: 0;
}

.rules-box ul {
  padding-left: 24px;
}

.rules-box li {
  margin-bottom: 8px;
}

.checkbox-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
}

.checkbox-label input {
  width: auto;
  accent-color: #d4af37;
}

.menu {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 26px;
}

.menu a {
  display: block;
  padding: 17px;
  text-align: center;
  text-decoration: none;
  font-weight: 700;
}

.logout {
  display: inline-block;
  margin-top: 24px;
}

.table-wrap {
  overflow-x: auto;
  margin-top: 26px;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

th,
td {
  padding: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  text-align: left;
  white-space: nowrap;
}

code {
  padding: 2px 6px;
}


.native-screen.dashboard-root {
  min-height: 100%;
  overscroll-behavior-y: none;
}

.native-screen.dashboard-root .native-screen.dashboard-page {
  min-height: 100dvh;
  overscroll-behavior-y: none;
}

.native-screen.dashboard-root .dashboard-main {
  min-height: 100dvh;
}

.native-screen.dashboard-page {
  min-height: 100vh;
  overflow-x: hidden;
}

.dashboard-main {
  min-height: 100vh;
}

.dashboard-hidden {
  opacity: 0;
  visibility: hidden;
}

.dashboard-show {
  opacity: 1;
  visibility: visible;
}

.dashboard-hero {
  padding: clamp(30px, 5vw, 62px) clamp(20px, 5vw, 64px) 18px;
}

.dashboard-hero-inner {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  align-items: center;
  gap: 26px;
}


.dashboard-center-image-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 92px;
}

.dashboard-center-image {
  width: clamp(170px, 22vw, 240px);
  height: auto;
  display: block;
}

.dashboard-user-name strong {
  font-size: clamp(1.05rem, 3.8vw, 1.45rem);
}

.dashboard-brand-card {
  position: relative;
  width: min(92vw, 470px);
  aspect-ratio: 1 / 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 74px 44px 70px;
}

.dashboard-brand-frame {
  position: absolute;
  inset: 0;
  opacity: 0.95;
  pointer-events: none;
}

.dashboard-brand-image {
  display: block;
  width: 88%;
  height: auto;
  object-fit: contain;
  transform: translateY(-18px);
}

.dashboard-brand-sub {
  margin-top: -8px;
  text-align: center;
  font-size: clamp(28px, 5vw, 54px);
  padding-left: 0.42em;
  line-height: 1;
}

.dashboard-user-panel {
  min-width: min(100%, 320px);
  max-width: 560px;
  width: min(100%, 560px);
  padding: 24px;
}

.dashboard-user-line {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 14px;
}

.dashboard-user-line:last-child {
  border-bottom: none;
}

.dashboard-user-line strong {
  text-align: right;
  font-weight: 700;
  word-break: break-word;
}

.dashboard-content {
  padding: 26px clamp(20px, 5vw, 64px) 108px;
  display: grid;
  gap: 36px;
}

.dashboard-section {
  padding: clamp(20px, 3vw, 30px);
}

.dashboard-section-head h1,
.dashboard-section-head h2 {
  margin: 0;
}

.dashboard-section-head p {
  margin: 10px 0 0;
}

.dashboard-grid {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
}

.dashboard-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 140px;
  padding: 22px;
  text-decoration: none;
}

.dashboard-card:hover {
  transform: translateY(-4px);
}

.dashboard-card-title {
  font-size: 20px;
  font-weight: 700;
}

.dashboard-card-sub {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.7;
}

.dashboard-notice-section {
  padding: clamp(14px, 2vw, 20px);
}

.dashboard-notice-section .dashboard-section-head p {
  margin-top: 6px;
}

.dashboard-notice-box {
  margin-top: 12px;
  padding: 13px 16px;
  max-height: 124px;
  overflow-y: auto;
  line-height: 1.65;
  scrollbar-width: thin;
}

.dashboard-notice-box p,
.dashboard-notice-box li {
  margin-top: 0.35em;
  margin-bottom: 0.35em;
}

.dashboard-profile-section .dashboard-user-panel {
  margin-top: 18px;
}

.dashboard-footer {
  position: fixed;
  right: clamp(18px, 3vw, 38px);
  bottom: clamp(18px, 3vw, 34px);
  z-index: 20;
  padding: 0;
}

.dashboard-logout {
  display: inline-block;
  padding: 11px 18px;
  text-decoration: none;
}

.dashboard-logout:hover {
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .card {
    margin: 24px 16px;
    padding: 24px;
  }

  .menu {
    grid-template-columns: 1fr;
  }

  .dashboard-hero-inner {
    justify-items: center;
    align-items: center;
  }

  .dashboard-brand-card {
    width: min(92vw, 420px);
    margin: 0 auto;
    padding: 66px 34px 62px;
  }

  .dashboard-brand-sub {
    font-size: clamp(26px, 8vw, 44px);
    padding-left: 0.34em;
  }


  .dashboard-center-image-wrap {
    min-height: 96px;
  }

  .dashboard-center-image {
    width: clamp(138px, 42vw, 180px);
  }

  .dashboard-user-panel {
    min-width: 100%;
  }

  .dashboard-content {
    padding-bottom: 40px;
  }

  .dashboard-footer {
    position: static;
    padding: 0 20px 34px;
    display: flex;
    justify-content: flex-end;
  }

  .dashboard-grid {
    grid-template-columns: 1fr;
  }
}
.dashboard-card-button {
  width: 100%;
  appearance: none;
  text-align: left;
  user-select: none;
}

.rules-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.rules-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.rules-modal-backdrop {
  position: absolute;
  inset: 0;
}

.rules-modal-panel {
  position: relative;
  width: min(1120px, calc(100vw - 32px));
  height: min(860px, calc(100dvh - 32px));
  margin: 16px auto;
  display: flex;
  flex-direction: column;
  transform: translateY(16px) scale(0.985);
  overflow: hidden;
}

.rules-modal.is-open .rules-modal-panel {
  transform: translateY(0) scale(1);
}

.rules-modal-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 24px clamp(20px, 4vw, 38px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.rules-modal-head h2 {
  margin: 0;
}

.rules-modal-head p {
  margin: 8px 0 0;
}

.rules-modal-close {
  flex: 0 0 auto;
  padding: 10px 16px;
  user-select: none;
}

.rules-modal-.native-screen {
  overflow: auto;
  padding: clamp(20px, 4vw, 38px);
  line-height: 1.9;
}

.native-screen.modal-open {
  overflow: hidden;
}

.page-mickey-transition,
.subpage-mickey-transition {
  position: fixed;
  left: 0;
  right: 0;
  top: env(safe-area-inset-top, 0px);
  bottom: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
}

.page-mickey-transition.is-active,
.subpage-mickey-transition.is-active {
  opacity: 1;
  visibility: visible;
}

.page-mickey-shape,
.subpage-mickey-shape {
  position: relative;
  width: 170px;
  height: 148px;
  transform: scale(0.02);
  transform-origin: center;
}

.page-mickey-head,
.page-mickey-ear,
.subpage-mickey-head,
.subpage-mickey-ear {
  position: absolute;
  display: block;
}

.page-mickey-head,
.subpage-mickey-head {
  width: 104px;
  height: 104px;
  left: 33px;
  top: 44px;
}

.page-mickey-ear,
.subpage-mickey-ear {
  width: 72px;
  height: 72px;
  top: 0;
}

.page-mickey-ear-left,
.subpage-mickey-ear-left {
  left: 0;
}

.page-mickey-ear-right,
.subpage-mickey-ear-right {
  right: 0;
}
.sample-page-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 28px;
}

.sample-page-kicker {
  margin: 0 0 8px;
  font-size: 0.82rem;
}

.sample-page-title {
  margin: 0;
}

.sample-back-link {
  flex: 0 0 auto;
  text-decoration: none;
  padding: 10px 15px;
}

.sample-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 22px;
}

.sample-panel {
  padding: 22px;
  line-height: 1.8;
}

.sample-panel h2,
.sample-panel h3 {
  margin-top: 0;
}

.sample-action-card {
  display: block;
  min-height: 128px;
  padding: 22px;
  text-decoration: none;
}

.sample-action-card:hover {
  transform: translateY(-4px);
}

.sample-action-card strong {
  display: block;
  font-size: 1.1rem;
  margin-bottom: 10px;
}

.sample-action-card span {
  line-height: 1.7;
}

@media (max-width: 768px) {
  .rules-modal-panel {
    width: 100vw;
    height: 100dvh;
    margin: 0;
  }

  .rules-modal-head {
    align-items: flex-start;
  }

  .sample-page-header {
    flex-direction: column;
  }
}
.cast-subpage {
  min-height: 100dvh;
}

.cast-page-shell {
  width: min(1180px, calc(100vw - 36px));
  margin: 0 auto;
  padding: clamp(28px, 5vw, 64px) 0 72px;
}

.cast-page-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 22px;
  margin-bottom: 30px;
  padding: clamp(22px, 4vw, 34px);
}

.cast-page-kicker {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 700;
}

.cast-page-header h1 {
  margin: 0;
  font-size: clamp(1.7rem, 4vw, 3rem);
}

.cast-page-header p:not(.cast-page-kicker) {
  margin: 12px 0 0;
  line-height: 1.8;
}

.cast-back-link {
  flex: 0 0 auto;
  text-decoration: none;
  padding: 11px 17px;
}

.cast-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin: 22px 0;
}

.cast-panel {
  padding: clamp(20px, 3vw, 30px);
}

.cast-wide-panel {
  margin-bottom: 22px;
}

.cast-panel h2,
.cast-panel h3 {
  margin-top: 0;
}

.cast-panel p,
.cast-action-card span,
.cast-status-list {
  line-height: 1.8;
}

.cast-action-card {
  display: block;
  min-height: 160px;
  padding: 26px;
  text-decoration: none;
}

.cast-action-card:hover {
  transform: translateY(-5px);
}

.cast-action-card strong {
  display: block;
  margin-bottom: 12px;
  font-size: 1.16rem;
}

.cast-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 18px 0 22px;
}

.cast-form-row {
  display: grid;
  gap: 8px;
}

.cast-form-full {
  grid-column: 1 / -1;
}

.cast-form-row label {
  font-size: 0.86rem;
}

.cast-form-row input,
.cast-form-row select,
.cast-form-row textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 13px;
}

.cast-form-row textarea {
  resize: vertical;
}

.cast-primary-button,
.cast-danger-button {
  padding: 12px 20px;
  user-select: none;
}

.cast-status-list {
  margin-bottom: 0;
  padding-left: 1.25em;
}
.rules-modal {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 2600;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.rules-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.rules-modal-backdrop {
  position: absolute;
  inset: 0;
}

.rules-modal-panel {
  position: relative;
  width: 100vw;
  height: 100dvh;
  margin: 0;
  transform: translateY(14px);
  overflow: hidden;
}

.rules-modal.is-open .rules-modal-panel {
  transform: translateY(0);
}

.rules-modal-.native-screen {
  height: calc(100dvh - 96px);
  overflow: auto;
  padding: clamp(20px, 4vw, 46px);
  line-height: 1.9;
}

@media (max-width: 768px) {
  .cast-page-header {
    flex-direction: column;
  }

  .cast-back-link {
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }

  .cast-form-grid {
    grid-template-columns: 1fr;
  }
}
.attraction-page-shell {
  max-width: 1280px;
}

.attraction-guide-panel {
  margin-bottom: 22px;
}

.attraction-type-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.attraction-type-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: 800;
}

.attraction-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

.attraction-card {
  width: 100%;
  min-height: 156px;
  margin: 0;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  text-align: left;
}

.attraction-card:hover {
  transform: translateY(-3px);
}

.attraction-card strong {
  display: block;
  font-size: 18px;
  line-height: 1.45;
}

.attraction-card small {
  font-weight: 700;
}

.attraction-card-type {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 900;
}

.attraction-operation-modal {
  position: fixed;
  inset: 0;
  z-index: 2700;
  display: grid;
  place-items: center;
  padding: clamp(16px, 4vw, 42px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.attraction-operation-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.attraction-modal-backdrop {
  position: absolute;
  inset: 0;
}

.attraction-modal-panel {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: min(82dvh, 760px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: translateY(16px) scale(0.98);
}

.attraction-operation-modal.is-open .attraction-modal-panel {
  transform: translateY(0) scale(1);
}

.attraction-modal-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding: 24px 26px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}

.attraction-modal-head h2 {
  margin: 0;
  font-size: clamp(20px, 3vw, 30px);
  line-height: 1.35;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.attraction-modal-head p {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.6;
}

.attraction-modal-close {
  flex: 0 0 auto;
  padding: 9px 14px;
  font-weight: 900;
  user-select: none;
}

.attraction-modal-.native-screen {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
  padding: 22px 26px 28px;
}

.attraction-modal-lead {
  margin: 0 0 18px;
  line-height: 1.75;
}

.attraction-command-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 14px;
}

.attraction-command-form {
  margin: 0;
}

.attraction-command-button {
  width: 100%;
  min-height: 48px;
  margin: 0;
  white-space: nowrap;
}

.attraction-empty-note {
  margin: 0;
}

@media (max-width: 768px) {
  .attraction-card-grid {
    grid-template-columns: 1fr;
  }

  .attraction-operation-modal {
    padding: 12px;
    place-items: end center;
  }

  .attraction-modal-panel {
    width: 100%;
    max-height: 86dvh;
  }

  .attraction-modal-head {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding: 20px 18px 14px;
  }

  .attraction-modal-head h2 {
    font-size: 20px;
    line-height: 1.35;
  }

  .attraction-modal-close {
    min-width: 64px;
    max-width: 76px;
    padding: 7px 10px;
    font-size: 12px;
  }

  .attraction-modal-.native-screen {
    padding: 18px;
  }

  .attraction-command-grid {
    grid-template-columns: 1fr;
  }
}
.attraction-type-chip {
  user-select: none;
}

.attraction-type-chip:hover,
.attraction-type-chip.is-active {
  transform: translateY(-1px);
}

.attraction-card.is-hidden-by-type {
  display: none;
}
.teleport-panel {
  position: relative;
  overflow: hidden;
}

.teleport-panel > * {
  position: relative;
  z-index: 1;
}

.teleport-player-select-row,
.teleport-card-select-row {
  gap: 14px;
}

.teleport-native-select {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.teleport-player-toolbar {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  padding: 8px 13px;
  font-size: 0.76rem;
}

.teleport-player-live-dot {
  width: 8px;
  height: 8px;
}

.teleport-choice-grid,
.teleport-player-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  width: 100%;
}

.teleport-choice-grid-attractions,
.teleport-choice-grid-areas {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.teleport-choice-card,
.teleport-player-card,
.teleport-player-empty-card {
  position: relative;
  isolation: isolate;
  min-height: 142px;
  overflow: hidden;
}

.teleport-choice-card,
.teleport-player-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  margin-top: 0;
  padding: 18px;
  text-align: left;
}

.teleport-choice-card:focus-visible,
.teleport-player-card:focus-visible {
  transform: translateY(-4px);
  outline: none;
}
@media (hover: hover) and (pointer: fine) {
  .teleport-choice-card:hover,
  .teleport-player-card:hover {
    transform: translateY(-4px);
    outline: none;
  }
}

.teleport-choice-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.teleport-choice-icon,
.teleport-player-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  font-size: 1rem;
  font-weight: 950;
}

.teleport-choice-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  padding: 6px 9px;
  font-size: 0.64rem;
  font-weight: 800;
}

.teleport-choice-.native-screen,
.teleport-player-.native-screen {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 7px;
  padding-right: 42px;
}

.teleport-choice-name,
.teleport-player-name {
  overflow: hidden;
  font-size: 1.05rem;
  line-height: 1.35;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.teleport-choice-sub,
.teleport-player-sub {
  font-size: 0.78rem;
}

.teleport-choice-arrow {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  font-size: 0.66rem;
  font-weight: 900;
}

.teleport-player-empty-card {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  font-size: 0.92rem;
  text-align: center;
}

.teleport-submit-button {
  width: 100%;
  justify-content: center;
  min-height: 48px;
}


.teleport-submit-button.is-teleport-moving,
.teleport-submit-button.is-teleport-moving:disabled {
  opacity: 0.86;
}

@media (max-width: 640px) {
  .teleport-choice-grid,
  .teleport-choice-grid-attractions,
  .teleport-choice-grid-areas,
  .teleport-player-grid {
    grid-template-columns: 1fr;
  }

  .teleport-choice-card,
  .teleport-player-card,
  .teleport-player-empty-card {
    min-height: 128px;
  }

  .teleport-choice-name,
  .teleport-player-name {
    font-size: 1rem;
  }
}
.teleport-accordion-stack {
  display: grid;
  gap: 18px;
  width: 100%;
}

.teleport-accordion-panel {
  padding: 0;
}

.teleport-panel-trigger {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  min-height: 118px;
  padding: 26px 28px;
  text-align: left;
}

.teleport-panel-trigger:hover,
.teleport-panel-trigger:focus-visible {
  outline: none;
}

.teleport-trigger-kicker,
.teleport-trigger-title,
.teleport-trigger-text {
  display: block;
}

.teleport-trigger-kicker {
  margin-bottom: 8px;
  font-size: 0.72rem;
  font-weight: 900;
}

.teleport-trigger-title {
  font-size: clamp(1.28rem, 2.5vw, 1.9rem);
  line-height: 1.2;
  font-weight: 950;
  white-space: nowrap;
}

.teleport-trigger-text {
  margin-top: 8px;
  font-size: 0.9rem;
  line-height: 1.65;
}

.teleport-trigger-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 92px;
  padding: 11px 18px;
  font-size: 0.8rem;
  font-weight: 900;
}

.teleport-panel-content {
  position: relative;
  z-index: 1;
  padding: 0 28px 28px;
}

.teleport-panel-content[hidden] {
  display: none;
}

.teleport-panel-content form {
  display: grid;
  gap: 18px;
  padding-top: 2px;
}

.teleport-choice-grid,
.teleport-player-grid {
  max-height: min(54vh, 540px);
  overflow-y: auto;
  padding: 4px 4px 8px;
  scrollbar-width: thin;
}

.teleport-choice-card,
.teleport-player-card,
.teleport-player-empty-card {
  min-height: 104px;
}

.teleport-choice-card,
.teleport-player-card {
  gap: 12px;
  padding: 18px 20px;
}

.teleport-choice-topline {
  justify-content: flex-start;
}

.teleport-choice-icon,
.teleport-player-avatar {
  display: none;
}

.teleport-choice-badge {
  min-width: 0;
  padding: 5px 10px;
  font-size: 0.58rem;
}

.teleport-choice-.native-screen,
.teleport-player-.native-screen {
  padding-right: 36px;
}

.teleport-choice-name,
.teleport-player-name {
  font-size: 1rem;
}

.teleport-choice-arrow {
  padding: 0;
}

.teleport-submit-button {
  margin-top: 2px;
}

@media (max-width: 640px) {
  .teleport-panel-trigger {
    align-items: flex-start;
    flex-direction: column;
    min-height: 0;
    padding: 22px;
  }

  .teleport-trigger-title {
    white-space: normal;
  }

  .teleport-panel-content {
    padding: 0 18px 22px;
  }

  .teleport-trigger-action {
    width: 100%;
  }
}
.teleport-modal-launch-stack {
  display: grid;
  gap: 18px;
  width: 100%;
}

.teleport-launch-panel {
  padding: 0;
}

.teleport-launch-panel .teleport-panel-trigger {
  min-height: 112px;
}

.native-screen.teleport-modal-opened,
.native-screen.teleport-modal-opened {
  overflow: hidden;
  overscroll-behavior: none;
}

.native-screen.teleport-modal-opened .teleport-modal {
  touch-action: none;
}

.native-screen.teleport-modal-opened .teleport-modal-choice-grid {
  touch-action: pan-y;
}

.teleport-modal[hidden] {
  display: none;
}

.teleport-modal {
  position: fixed;
  inset: 0;
  overflow: hidden;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.teleport-modal-backdrop {
  position: absolute;
  inset: 0;
}

.teleport-modal-box {
  position: relative;
  z-index: 1;
  width: min(1040px, 100%);
  max-height: min(86vh, 820px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.teleport-modal-box:focus {
  outline: none;
}

.teleport-modal-header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 28px 30px 20px;
  border-bottom: 1px solid rgba(218, 184, 95, 0.16);
}

.teleport-modal-kicker {
  margin: 0 0 8px;
  font-size: 0.72rem;
  font-weight: 950;
}

.teleport-modal-header h2 {
  margin: 0;
  font-size: clamp(1.36rem, 2.5vw, 2rem);
  line-height: 1.25;
  white-space: nowrap;
}

.teleport-modal-header p {
  margin: 8px 0 0;
  line-height: 1.7;
}

.teleport-modal-close {
  flex: 0 0 auto;
  min-width: 82px;
  padding: 10px 16px;
  font-size: 0.78rem;
  font-weight: 900;
}

.teleport-modal-close:hover,
.teleport-modal-close:focus-visible {
  outline: none;
}

.teleport-modal-form {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  padding: 22px 30px 30px;
  min-height: 0;
}

.teleport-modal-choice-grid {
  max-height: min(52vh, 520px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  padding: 4px 4px 8px;
  scrollbar-width: thin;
}

.teleport-modal .teleport-submit-button {
  position: sticky;
  bottom: 0;
  margin-top: 0;
}

.teleport-modal .teleport-player-toolbar {
  margin-bottom: -2px;
}

.teleport-modal .teleport-choice-card,
.teleport-modal .teleport-player-card,
.teleport-modal .teleport-player-empty-card {
  min-height: 104px;
}

@media (max-width: 640px) {
  .teleport-modal {
    align-items: flex-end;
    padding: 14px;
  }

  .teleport-modal-box {
    max-height: 88vh;
  }

  .teleport-modal-header {
    flex-direction: column;
    padding: 22px 20px 16px;
  }

  .teleport-modal-header h2 {
    white-space: normal;
  }

  .teleport-modal-close {
    width: 100%;
  }

  .teleport-modal-form {
    padding: 18px 18px 22px;
  }

  .teleport-modal-choice-grid {
    max-height: 48vh;
  }
}
.teleport-launch-panel.is-server-locked .teleport-panel-trigger {
  opacity: 1;
  transform: none;
}

.teleport-launch-panel.is-server-locked .teleport-panel-trigger > span {
  opacity: 0.24;
}

.teleport-player-empty-card-premium {
  min-height: 178px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 26px;
}

.teleport-player-empty-card-premium .teleport-empty-kicker {
  display: inline-flex;
  padding: 6px 11px;
  font-size: 0.68rem;
  font-weight: 950;
}

.teleport-player-empty-card-premium strong {
  font-size: clamp(1.06rem, 3.5vw, 1.36rem);
}

.teleport-player-empty-card-premium span:last-child {
  line-height: 1.7;
}

.teleport-launch-panel.is-player-empty .teleport-panel-trigger > span:first-child {
  opacity: 0.26;
}

.teleport-launch-panel.is-player-empty .teleport-trigger-action {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.teleport-launch-panel.is-player-empty .teleport-panel-trigger {
  align-items: flex-start;
  flex-direction: column;
  gap: 18px;
}

.teleport-launch-panel.is-player-empty .teleport-panel-trigger > span:first-child {
  opacity: 0.42;
}

.teleport-launch-panel.is-player-empty .teleport-trigger-action {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  opacity: 1;
  visibility: visible;
  pointer-events: none;
  align-self: stretch;
  padding: 14px 18px;
  text-align: center;
  white-space: normal;
  line-height: 1.45;
}

.teleport-launch-panel.is-player-empty .teleport-trigger-action {
  font-size: 0;
}
.dashboard-rank-profile-card {
  position: relative;
  display: grid;
  gap: 16px;
  max-width: 680px;
  width: min(100%, 680px);
  padding: clamp(22px, 3vw, 30px);
  overflow: hidden;
}

.dashboard-rank-profile-card > * {
  position: relative;
  z-index: 1;
}

.dashboard-rank-main {
  display: grid;
  gap: 6px;
  padding: 6px 0 14px;
  border-bottom: 1px solid rgba(218, 184, 95, 0.20);
}

.dashboard-rank-main span {
  font-size: 0.78rem;
  font-weight: 900;
}

.dashboard-rank-main strong {
  font-size: clamp(2.1rem, 7vw, 4.4rem);
  line-height: 1;
  font-weight: 950;
}

.dashboard-profile-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.dashboard-profile-mini-grid .dashboard-user-line {
  display: grid;
  gap: 6px;
  padding: 13px 14px;
}

.dashboard-profile-mini-grid .dashboard-user-line span {
  font-size: 0.68rem;
}

.dashboard-profile-mini-grid .dashboard-user-line strong {
  text-align: left;
  font-size: 0.98rem;
}

.dashboard-profile-mini-button {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 14px;
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 900;
}

.dashboard-profile-mini-button:hover {
  transform: translateY(-1px);
}

@media (max-width: 640px) {
  .dashboard-profile-mini-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-profile-mini-button {
    width: 100%;
  }
}
.dashboard-profile-single-card {
  position: relative;
  overflow: hidden;
  padding: clamp(22px, 4vw, 34px);
}

.dashboard-profile-single-card > * {
  position: relative;
  z-index: 1;
}

.dashboard-profile-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: clamp(22px, 4vw, 34px);
}

.dashboard-profile-kicker {
  margin: 0 0 8px;
  font-size: 0.76rem;
  font-weight: 950;
}

.dashboard-profile-topline h2 {
  margin: 0;
  font-size: clamp(1.35rem, 3vw, 2.05rem);
  line-height: 1.1;
}

.dashboard-profile-single-card .dashboard-profile-mini-button {
  width: auto;
  min-height: 44px;
  margin: 0;
  padding: 12px 22px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 950;
}

.dashboard-profile-single-card .dashboard-profile-mini-button:hover {
  transform: translateY(-1px);
}

.dashboard-profile-single-card .dashboard-rank-main {
  display: grid;
  gap: 8px;
  padding: 0 0 clamp(20px, 4vw, 30px);
  border-bottom: 1px solid rgba(218, 184, 95, 0.22);
}

.dashboard-profile-single-card .dashboard-rank-main span {
  font-size: 0.78rem;
  font-weight: 950;
}

.dashboard-profile-single-card .dashboard-rank-main strong {
  font-size: clamp(2.6rem, 8vw, 5.8rem);
  line-height: 0.98;
  font-weight: 950;
}

.dashboard-profile-info-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: 0;
}

.dashboard-profile-info-item {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 18px 18px 0 0;
}

.dashboard-profile-info-item + .dashboard-profile-info-item {
  padding-left: 22px;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

.dashboard-profile-info-item span {
  font-size: 0.68rem;
  font-weight: 900;
}

.dashboard-profile-info-item strong {
  min-width: 0;
  overflow: hidden;
  font-size: clamp(1rem, 2.2vw, 1.22rem);
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .dashboard-profile-topline {
    align-items: flex-start;
    flex-direction: column;
  }

  .dashboard-profile-single-card .dashboard-profile-mini-button {
    align-self: flex-start;
  }

  .dashboard-profile-info-row {
    grid-template-columns: 1fr;
  }

  .dashboard-profile-info-item {
    padding: 16px 0 0;
  }

  .dashboard-profile-info-item + .dashboard-profile-info-item {
    padding-left: 0;
    border-left: 0;
  }
}
.rules-modal {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 2600;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.rules-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.rules-modal-panel {
  position: relative;
  width: min(980px, calc(100vw - 32px));
  height: min(82dvh, 760px);
  margin: clamp(16px, 5dvh, 48px) auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.rules-modal-head {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 28px 18px;
  border-bottom: 1px solid rgba(218, 184, 95, 0.16);
}

.rules-modal-head > div {
  min-width: 0;
}

.rules-modal-close,
.rules-modal-close:hover {
  flex: 0 0 auto;
  width: auto;
  min-width: 84px;
  max-width: none;
  height: auto;
  margin: 0;
  padding: 10px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  line-height: 1.2;
  transform: none;
}

.rules-modal-.native-screen {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 24px 28px 32px;
}
.attraction-rank-list-button {
  flex: 0 0 auto;
  width: auto;
  min-height: 38px;
  margin: 0;
  padding: 9px 14px;
  font-size: 12px;
  font-weight: 900;
}

.attraction-rank-list-modal {
  position: fixed;
  inset: 0;
  z-index: 2720;
  display: grid;
  place-items: center;
  padding: clamp(16px, 4vw, 42px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.attraction-rank-list-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.attraction-rank-list-modal[hidden] {
  display: none;
}

.attraction-rank-list-modal .attraction-modal-backdrop {
  position: absolute;
  inset: 0;
}

.attraction-rank-list-panel {
  position: relative;
  z-index: 1;
  width: min(900px, 100%);
  max-height: min(82dvh, 760px);
  min-height: 0;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.attraction-rank-list-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 14px;
}

.attraction-rank-list-card {
  padding: 16px;
}

.attraction-rank-list-card strong {
  display: block;
  font-size: 15px;
  margin-bottom: 10px;
}

.attraction-rank-list-card ul {
  margin: 0;
  padding-left: 1.1em;
  line-height: 1.75;
  font-size: 13px;
}
.profile-shell {
  max-width: 1180px;
}

.profile-hero {
  align-items: stretch;
}

.profile-header-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.profile-rank-hero {
  display: grid;
  grid-template-columns: minmax(260px, 0.95fr) minmax(0, 1.65fr);
  gap: 20px;
  align-items: stretch;
  margin-bottom: 22px;
}

.profile-rank-main {
  display: grid;
  gap: 10px;
  align-content: center;
  min-height: 220px;
  padding: 30px;
}

.profile-rank-label,
.profile-stat-kicker {
  font-size: 0.74rem;
  font-weight: 950;
}

.profile-rank-main strong {
  font-size: clamp(2.4rem, 7vw, 5.2rem);
  line-height: 1;
}

.profile-rank-main small {
  font-weight: 800;
}

.profile-user-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.profile-user-facts div {
  display: grid;
  align-content: center;
  gap: 8px;
  min-height: 100px;
  padding: 20px;
}

.profile-user-facts strong {
  min-width: 0;
  font-size: 1.12rem;
  overflow-wrap: anywhere;
}

.profile-user-facts [data-profile-cast-id],
.profile-user-facts [data-profile-nickname] {
  font-size: 0.98rem;
  line-height: 1.25;
}

.profile-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 22px;
}

.profile-stat-card {
  display: grid;
  gap: 12px;
  align-content: start;
}

.profile-stat-card h2,
.profile-wide-panel h2 {
  margin: 0;
}

.profile-big-number {
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  line-height: 1.15;
}

.profile-progress-track {
  position: relative;
  height: 12px;
  overflow: visible;
}

.profile-progress-track span {
  position: relative;
  display: block;
  height: 100%;
  min-width: 8px;
}

.profile-progress-head-icon {
  position: absolute;
  left: var(--week-progress);
  top: 50%;
  width: 68px;
  height: 68px;
  object-fit: contain;
  pointer-events: none;
  z-index: 5;
  transform: translate(-50%, -50%);
}

@media (max-width: 560px) {
  .profile-progress-head-icon {
    width: 56px;
    height: 56px;
  }
}

.profile-mini-list,
.profile-attraction-list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 1.15em;
}

.profile-wide-panel {
  margin-bottom: 22px;
}

.profile-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.profile-small-button {
  width: auto;
  min-width: 190px;
  margin: 0;
  text-align: center;
}

.profile-attraction-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-left: 0;
  list-style: none;
}

.profile-attraction-list li {
  padding: 14px 16px;
  font-weight: 850;
}

.profile-rank-table-wrap {
  overflow-x: auto;
}

.profile-rank-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  overflow: hidden;
}

.profile-rank-table th,
.profile-rank-table td {
  padding: 14px 16px;
  text-align: left;
  vertical-align: middle;
}

.profile-live-status {
  margin: 14px 0 0;
  font-size: 0.84rem;
}

.native-screen.modal-open {
  overflow: hidden;
}

@media (max-width: 900px) {
  .profile-rank-hero,
  .profile-card-grid {
    grid-template-columns: 1fr;
  }

  .profile-attraction-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .rules-modal-panel {
    width: calc(100vw - 24px);
    height: min(86dvh, 760px);
    margin: 12px auto;
  }

  .rules-modal-head {
    padding: 20px 18px 14px;
  }

  .rules-modal-close {
    min-width: 72px;
    padding: 8px 12px;
    font-size: 12px;
  }

  .rules-modal-.native-screen {
    padding: 18px;
  }

  .attraction-rank-list-modal {
    place-items: center;
    padding: 14px;
  }

  .attraction-rank-list-panel {
    width: 100%;
    max-height: 84dvh;
  }

  .profile-header-actions,
  .profile-section-title {
    flex-direction: column;
    align-items: stretch;
  }

  .profile-user-facts,
  .profile-attraction-list {
    grid-template-columns: 1fr;
  }

  .profile-rank-main {
    min-height: 180px;
    padding: 22px;
  }
}
.profile-user-facts .profile-fact-card-compact {
  min-height: 62px;
  padding: 12px 14px;
  gap: 4px;
}

.profile-user-facts .profile-fact-card-compact span {
  font-size: 0.64rem;
  line-height: 1.1;
}

.profile-user-facts .profile-fact-card-compact strong,
.profile-user-facts .profile-fact-card-compact [data-profile-cast-id],
.profile-user-facts .profile-fact-card-compact [data-profile-nickname] {
  font-size: 0.82rem;
  line-height: 1.18;
  font-weight: 850;
}

@media (max-width: 640px) {
  .profile-user-facts .profile-fact-card-compact {
    min-height: 54px;
    padding: 10px 12px;
  }
}
.attraction-card {
  position: relative;
  overflow: hidden;
}

.attraction-empty-card-overlay,
.attraction-lock-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  text-align: center;
  font-weight: 950;
  line-height: 1.65;
  pointer-events: none;
}

.attraction-card.is-attraction-empty .attraction-empty-card-overlay {
  display: flex;
}

.attraction-card:not(.is-attraction-empty) .attraction-empty-card-overlay {
  display: none;
}

.attraction-card-locked {
  transform: none;
}

.attraction-card-locked:hover {
  transform: none;
}

.attraction-card-locked .attraction-lock-overlay {
  display: flex;
}

.attraction-card-locked.is-attraction-empty .attraction-lock-overlay {
  display: none;
}

.attraction-operation-modal.is-attraction-empty .attraction-command-form,
.attraction-operation-modal.is-attraction-empty .attraction-command-disabled {
  opacity: 0.32;
  pointer-events: none;
}

@media (max-width: 640px) {
  .attraction-empty-card-overlay,
  .attraction-lock-overlay {
    padding: 16px;
    font-size: 0.95rem;
  }
}
.map-page-shell {
  width: min(1380px, calc(100vw - 36px));
}

.map-page-header {
  margin-bottom: 22px;
}

.map-panel {
  padding: clamp(16px, 2.5vw, 26px);
}

.map-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 18px;
}

.map-panel-head h2 {
  margin: 0;
}

.map-panel-head p:not(.cast-page-kicker) {
  margin: 10px 0 0;
  line-height: 1.8;
}

.bluemap-frame-wrap {
  overflow: hidden;
}

.bluemap-frame {
  display: block;
  width: 100%;
  height: min(78dvh, 820px);
  min-height: 560px;
}

@media (max-width: 760px) {
  .map-panel-head {
    display: block;
  }

  .bluemap-frame {
    height: 72dvh;
    min-height: 460px;
  }
}
.map-player-panel {
  margin-top: 22px;
  padding: clamp(16px, 2.5vw, 26px);
}

.map-player-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 16px;
}

.map-player-head h2 {
  margin: 0;
}

.map-player-head p:not(.cast-page-kicker) {
  margin: 10px 0 0;
  line-height: 1.8;
}

.map-player-teleport-link {
  flex: 0 0 auto;
  white-space: nowrap;
  text-decoration: none;
}

.map-player-summary {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  padding: 10px 12px;
  font-size: 0.84rem;
}

.map-player-summary span:first-child {
  font-weight: 800;
}

.map-player-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.map-player-card,
.map-player-empty-card {
  position: relative;
  overflow: hidden;
  min-height: 118px;
  padding: 16px;
}

.map-player-card > *,
.map-player-empty-card > * {
  position: relative;
  z-index: 1;
}

.map-player-card.is-other-server-player {
  opacity: 0.78;
}

.map-player-card-topline {
  margin-bottom: 12px;
}

.map-player-empty-card {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
}

.map-player-empty-kicker {
  display: inline-flex;
  width: fit-content;
  padding: 6px 10px;
  font-size: 0.68rem;
  font-weight: 900;
}

.map-player-empty-card strong {
  font-size: 1rem;
}

@media (max-width: 760px) {
  .map-player-head {
    display: block;
  }

  .map-player-teleport-link {
    display: flex;
    width: 100%;
    justify-content: center;
    margin-top: 14px;
  }

  .map-player-grid {
    grid-template-columns: 1fr;
  }
}
.dashboard-card {
  position: relative;
  overflow: hidden;
  min-height: 156px;
  padding: 24px 118px 24px 24px;
}

.dashboard-card:hover {
  transform: translateY(-5px) scale(1.012);
}

.dashboard-card-title,
.dashboard-card-sub {
  position: relative;
  z-index: 2;
}

.dashboard-card-title {
  max-width: 11em;
  line-height: 1.45;
}

.dashboard-card-sub {
  max-width: 19em;
}

.dashboard-card-icon {
  position: absolute;
  z-index: 1;
  right: 18px;
  top: 50%;
  width: 92px;
  height: 92px;
  object-fit: contain;
  transform: translateY(-50%);
  opacity: 0.98;
  pointer-events: none;
}

.dashboard-card:hover .dashboard-card-icon {
  transform: translateY(-54%) scale(1.08);
  opacity: 1;
}

.dashboard-card-button.dashboard-card-with-icon {
  padding-right: 118px;
}

@media (max-width: 520px) {
  .dashboard-card,
  .dashboard-card-button.dashboard-card-with-icon {
    min-height: 142px;
    padding: 22px 98px 22px 20px;
  }

  .dashboard-card-icon {
    right: 12px;
    width: 80px;
    height: 80px;
  }

  .dashboard-card-title {
    font-size: 18px;
  }

  .dashboard-card-sub {
    font-size: 13px;
  }
}
.cast-page-header {
  position: relative;
  overflow: hidden;
  align-items: center;
}

.cast-page-header > div {
  position: relative;
  z-index: 2;
  padding-right: clamp(86px, 12vw, 150px);
}

.cast-page-title-icon {
  position: absolute;
  right: clamp(24px, 4vw, 42px);
  top: 50%;
  width: clamp(86px, 13vw, 132px);
  height: clamp(86px, 13vw, 132px);
  transform: translateY(-50%);
  object-fit: contain;
  opacity: 0.96;
  pointer-events: none;
  z-index: 1;
}

.cast-page-header .cast-back-link,
.cast-page-header .profile-header-actions {
  position: relative;
  z-index: 3;
}

.app-page-title-icon {
  display: block;
  width: 104px;
  height: 104px;
  object-fit: contain;
  margin: 10px auto 14px;
}

@media (max-width: 720px) {
  .cast-page-header > div {
    padding-right: 82px;
  }
  .cast-page-title-icon {
    right: 18px;
    width: 76px;
    height: 76px;
    opacity: 0.9;
  }
  .app-page-title-icon {
    width: 88px;
    height: 88px;
  }
}
.profile-header-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.profile-header-actions .cast-back-link {
  width: auto;
  min-width: 0;
  flex: 0 0 auto;
  white-space: nowrap;
  text-align: center;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .profile-header-actions {
    width: 100%;
    justify-content: space-between;
    gap: 8px;
  }

  .profile-header-actions .cast-back-link {
    flex: 1 1 0;
    padding: 10px 8px;
    font-size: clamp(12px, 3.1vw, 14px);
  }
}
.dashboard-hero {
  position: relative;
}

.dashboard-notice-bell {
  position: absolute;
  top: 22px;
  left: 22px;
  z-index: 20;
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.dashboard-notice-bell:hover {
  transform: translateY(-2px) scale(1.04);
}

.dashboard-notice-bell-icon svg {
  width: 27px;
  height: 27px;
  fill: #fff7dc;
}

.dashboard-notice-badge {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 11px;
  height: 11px;
  opacity: 0;
  transform: scale(0.4);
}

.dashboard-notice-badge.is-visible {
  opacity: 1;
  transform: scale(1);
}

.notice-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.notice-modal.is-open {
  display: flex;
}

.notice-modal-backdrop {
  position: absolute;
  inset: 0;
}

.notice-modal-panel {
  position: relative;
  width: min(640px, 100%);
  max-height: min(74vh, 720px);
  overflow: hidden;
}

.notice-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 26px 18px;
  border-bottom: 1px solid rgba(219, 183, 90, 0.16);
}

.notice-modal-head p {
  margin: 0 0 4px;
  font-size: 0.72rem;
}

.notice-modal-head h2 {
  margin: 0;
  font-size: 1.45rem;
}

.notice-modal-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  padding: 7px 12px;
  font-size: 0.82rem;
  line-height: 1;
  font-weight: 700;
}

.notice-modal-.native-screen {
  flex: 1 1 auto;
  min-height: 0;
  padding: 20px 22px 24px;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
  max-height: calc(min(82dvh, 720px) - 76px);
  line-height: 1.9;
}

.notice-modal-.native-screen h2,
.notice-modal-.native-screen h3 {
  margin-top: 0;
}

@media (max-width: 640px) {
  .dashboard-notice-bell {
    top: 14px;
    left: 14px;
    width: 48px;
    height: 48px;
  }

  .notice-modal-head {
    padding: 20px 20px 14px;
  }

  .notice-modal-.native-screen {
    padding: 20px;
  }
}
.dashboard-guide-menu {
  position: absolute;
  top: 28px;
  right: 28px;
  z-index: 35;
}

.dashboard-hamburger {
  width: 50px;
  height: 50px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.dashboard-hamburger span {
  width: 22px;
  height: 2px;
}

.dashboard-hamburger:hover {
  transform: translateY(-2px);
}

.dashboard-guide-menu.is-open .dashboard-hamburger span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.dashboard-guide-menu.is-open .dashboard-hamburger span:nth-child(2) {
  opacity: 0;
}

.dashboard-guide-menu.is-open .dashboard-hamburger span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.dashboard-guide-dropdown {
  position: absolute;
  top: 62px;
  right: 0;
  width: min(360px, calc(100vw - 32px));
  padding: 12px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px) scale(0.98);
  transform-origin: top right;
}

.dashboard-guide-menu.is-open .dashboard-guide-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.dashboard-guide-dropdown a {
  display: block;
  padding: 14px 15px;
  font-weight: 800;
  text-decoration: none;
}

.dashboard-guide-dropdown a:hover {
  transform: translateX(-3px);
}

.guide-page-shell {
  max-width: 1080px;
}

.guide-page-header {
  align-items: center;
}

.guide-title-mark {
  width: 66px;
  height: 66px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  font-size: 1.1rem;
  font-weight: 900;
}

.guide-panel {
  display: grid;
  gap: 18px;
}

.guide-block {
  padding: 22px;
}

.guide-block h2 {
  margin: 0 0 12px;
}

.guide-block p {
  margin: 0;
  line-height: 1.95;
}

.guide-block ul {
  margin: 0;
  padding-left: 1.2em;
  line-height: 1.95;
}

@media (max-width: 720px) {
  .dashboard-guide-menu {
    top: 18px;
    right: 18px;
  }

  .dashboard-hamburger {
    width: 46px;
    height: 46px;
  }

  .dashboard-guide-dropdown {
    top: 56px;
  }

  .guide-page-header {
    align-items: flex-start;
  }

  .guide-title-mark {
    width: 56px;
    height: 56px;
  }
}
.guide-page-header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 20px;
}

.guide-title-mark {
  margin: 0;
  align-self: start;
  justify-self: start;
  line-height: 1;
  transform: none;
}

.guide-page-header > div:nth-child(2) {
  min-width: 0;
}

.guide-page-header .cast-back-link {
  align-self: start;
  white-space: nowrap;
}

.guide-two-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 4vw, 48px);
}

.guide-two-columns ul {
  margin: 0;
}

.guide-rank-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.guide-rank-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  overflow: hidden;
}

.guide-rank-table th,
.guide-rank-table td {
  padding: 16px 18px;
  text-align: center;
}

.guide-rank-table th {
  font-weight: 900;
}

.guide-copy-block p + p,
.guide-block p + p {
  margin-top: 14px;
}

@media (max-width: 720px) {
  .guide-page-header {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
  }

  .guide-page-header .cast-back-link {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .guide-two-columns {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.guide-page-shell {
  max-width: 1120px;
}

.guide-page-header {
  position: relative;
  padding: clamp(22px, 4vw, 34px);
}

.guide-title-mark {
  width: 76px;
  height: 76px;
  overflow: hidden;
  isolation: isolate;
}

.guide-title-mark span {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 0;
}

.guide-panel {
  gap: 22px;
}

.thanks-hero-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: clamp(22px, 5vw, 54px);
  align-items: center;
  padding: clamp(28px, 5vw, 46px);
  overflow: hidden;
}

.guide-eyebrow {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 900;
}

.thanks-hero-copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  line-height: 1.35;
}

.thanks-hero-copy p:not(.guide-eyebrow) {
  margin: 0;
  line-height: 2;
}

.thanks-hero-badge {
  position: relative;
  width: 136px;
  height: 136px;
  justify-self: center;
}

.thanks-section {
  padding: clamp(24px, 4vw, 34px);
}

.thanks-rank-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.thanks-rank-card {
  min-height: 104px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.thanks-rank-card strong {
  font-weight: 950;
}

.thanks-rank-card span {
  font-size: 1.18rem;
  font-weight: 900;
}

@media (max-width: 820px) {
  .thanks-hero-card {
    grid-template-columns: 1fr;
  }
  .thanks-hero-badge {
    width: 108px;
    height: 108px;
    justify-self: start;
  }
  .thanks-rank-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .guide-page-header {
    padding: 20px;
  }
  .guide-title-mark {
    width: 58px;
    height: 58px;
  }
  .thanks-rank-grid {
    grid-template-columns: 1fr;
  }
}
.guide-title-mark {
  position: relative;
  flex: 0 0 auto;
  width: 82px;
  height: 82px;
  overflow: visible;
  isolation: isolate;
}

.guide-title-mark span {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 0;
}

@media (max-width: 720px) {
  .guide-title-mark {
    width: 68px;
    height: 68px;
  }
}

.pwa-login-pending .login-form,
.pwa-login-pending #firstLoginNote,
.pwa-login-blocked .login-form,
.pwa-login-blocked #firstLoginNote {
  display: none;
}

.pwa-login-allowed .pwa-login-notice {
  display: none;
}
.pwa-login-notice {
  position: relative;
  margin-top: 22px;
  padding: 18px;
}

.pwa-login-kicker {
  margin: 0 0 6px;
  font-size: 0.78rem;
  font-weight: 900;
}

.pwa-login-notice h2 {
  margin: 0 0 10px;
  font-size: clamp(18px, 4vw, 23px);
  line-height: 1.45;
}

.pwa-login-notice p {
  margin: 8px 0 0;
  line-height: 1.75;
}

.pwa-device-guide {
  margin-top: 16px;
  padding: 15px 16px;
}

.pwa-device-guide h3 {
  margin: 0 0 8px;
  font-size: 1rem;
}

.pwa-device-guide ol {
  margin: 8px 0 0;
  padding-left: 1.35em;
  line-height: 1.85;
}

.pwa-install-button,
.pwa-support-button {
  width: 100%;
  margin-top: 14px;
}

.pwa-support-box {
  margin-top: 12px;
  padding: 12px 14px;
}

.pwa-support-box p {
  margin: 0;
  font-size: 0.94rem;
}

@media (max-width: 720px) {
  .pwa-login-notice {
    padding: 16px;
  }

  .pwa-device-guide {
    padding: 14px;
  }
}
.guide-page-header .guide-title-mark {
  position: relative;
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  place-items: center;
}

.guide-page-header .guide-title-mark span {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 0;
  line-height: 1;
}

@media (max-width: 720px) {
  .guide-page-header .guide-title-mark {
    width: 62px;
    height: 62px;
  }
}
@media (min-width: 721px) {
  .cast-page-header:not(.guide-page-header) {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: clamp(18px, 3vw, 34px);
  }

  .cast-page-header:not(.guide-page-header) > div {
    min-width: 0;
    padding-right: 0;
    grid-column: 2;
  }

  .cast-page-header:not(.guide-page-header) .cast-page-title-icon {
    position: relative;
    inset: auto;
    grid-column: 1;
    width: clamp(78px, 8vw, 112px);
    height: clamp(78px, 8vw, 112px);
    transform: none;
    justify-self: start;
  }

  .cast-page-header:not(.guide-page-header) > .cast-back-link,
  .cast-page-header:not(.guide-page-header) > .profile-header-actions {
    grid-column: 3;
    justify-self: end;
    align-self: center;
    white-space: nowrap;
  }
}
.dashboard-notice-badge {
  min-width: 18px;
  width: auto;
  height: 18px;
  padding: 0 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
}

.notification-list {
  display: grid;
  gap: 12px;
  margin-bottom: 24px;
}

.notification-item {
  position: relative;
  padding: 16px 18px;
}

.notification-item-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 8px;
}

.notification-item-head strong {
  font-size: 1rem;
}

.notification-item-head span {
  flex: 0 0 auto;
  font-size: 0.72rem;
  white-space: nowrap;
}

.notification-item p {
  margin: 0;
  line-height: 1.75;
}

.notification-link {
  display: inline-flex;
  margin-top: 12px;
  padding: 8px 14px;
  text-decoration: none;
  font-weight: 800;
  font-size: 0.86rem;
}

.notification-dashboard-notice {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid rgba(219, 183, 90, 0.18);
}

.notification-dashboard-notice h3 {
  margin: 0 0 12px;
}

@media (max-width: 640px) {
  .notification-item-head {
    display: block;
  }

  .notification-item-head span {
    display: block;
    margin-top: 4px;
  }
}
.push-notification-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  padding: 16px 18px;
}

.push-notification-panel[hidden] {
  display: none;
}

.push-notification-panel strong {
  display: block;
  margin-bottom: 4px;
}

.push-notification-panel p {
  margin: 0;
  line-height: 1.7;
  font-size: 0.92rem;
}

.push-notification-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.push-notification-actions button {
  padding: 10px 16px;
  font-weight: 700;
}

.push-notification-actions button:disabled {
  opacity: 0.45;
}

@media (max-width: 720px) {
  .push-notification-panel {
    align-items: stretch;
    flex-direction: column;
  }

  .push-notification-actions {
    justify-content: stretch;
  }

  .push-notification-actions button {
    flex: 1 1 100%;
  }
}
.notification-settings-panel {
  margin-top: 24px;
}

.notification-settings-lead {
  margin: 0 0 16px;
  line-height: 1.8;
}

.profile-push-notification-panel {
  margin-top: 0;
}
.cast-action-row,
.profile-header-actions,
.admin-inline-actions,
.admin-filter-actions,
.cast-form-actions,
.profile-edit-actions,
.push-notification-actions {
  box-sizing: border-box;
}

.profile-header-actions,
.admin-inline-actions,
.admin-filter-actions,
.cast-form-actions,
.profile-edit-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.profile-header-actions .cast-back-link,
.admin-inline-actions a,
.admin-inline-actions button,
.admin-filter-actions a,
.admin-filter-actions button,
.cast-form-actions a,
.cast-form-actions button,
.profile-edit-actions a,
.profile-edit-actions button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  line-height: 1.35;
}

.admin-filter-panel,
.admin-approval-card,
.admin-activity-card,
.admin-edit-panel {
  min-width: 0;
  overflow: hidden;
}

.admin-filter-form,
.admin-edit-form,
.admin-form-grid,
.cast-form-grid {
  min-width: 0;
}

.admin-filter-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  align-items: end;
}

.admin-filter-actions {
  justify-content: flex-end;
}

.admin-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
  gap: 18px;
}

.admin-card-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  min-width: 0;
}

.admin-card-head > div {
  min-width: 0;
}

.admin-card-head h2,
.admin-card-head p {
  overflow-wrap: anywhere;
}

.admin-status-pill {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 12px;
  font-weight: 800;
  white-space: nowrap;
}

.admin-activity-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.admin-activity-stat,
.admin-stat-box {
  min-width: 0;
  padding: 13px 14px;
}

.admin-activity-stat span,
.admin-stat-box span {
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
}

.admin-activity-stat strong,
.admin-stat-box strong {
  display: block;
  margin-top: 6px;
  font-size: clamp(1.02rem, 2.8vw, 1.35rem);
  overflow-wrap: anywhere;
}

.admin-activity-stat small,
.admin-stat-box small {
  display: block;
  margin-top: 5px;
  line-height: 1.55;
}

.admin-detail-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin: 16px 0 0;
}

.admin-detail-list div {
  min-width: 0;
  padding: 12px 13px;
}

.admin-detail-list dt {
  font-size: 0.76rem;
  font-weight: 800;
}

.admin-detail-list dd {
  margin: 6px 0 0;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.admin-inline-actions {
  justify-content: flex-end;
  margin-top: 18px;
}

.admin-table-action {
  padding: 10px 14px;
  text-decoration: none;
  font-weight: 800;
}

.notification-detail-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
  padding: 8px 14px;
  text-decoration: none;
  font-weight: 800;
  font-size: 0.86rem;
}

.notification-detail-panel {
  margin-top: 14px;
  padding: 16px;
}

.notification-detail-panel[hidden] {
  display: none;
}

.notification-detail-panel h3 {
  margin: 0 0 8px;
  font-size: 1.08rem;
}

.notification-detail-panel p {
  margin: 0;
  line-height: 1.85;
  white-space: pre-wrap;
}

.notification-detail-related-link {
  display: inline-flex;
  margin-top: 12px;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 720px) {
  .cast-page-shell {
    width: min(100% - 22px, 1180px);
    padding-top: 18px;
  }

  .cast-page-header:not(.guide-page-header) {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 18px;
  }

  .cast-page-header:not(.guide-page-header) > div:first-of-type,
  .cast-page-header:not(.guide-page-header) > div:not(.profile-header-actions) {
    grid-column: 2;
    min-width: 0;
    padding-right: 0;
  }

  .cast-page-header:not(.guide-page-header) .cast-page-title-icon {
    position: relative;
    inset: auto;
    grid-column: 1;
    grid-row: 1;
    width: 58px;
    height: 58px;
    transform: none;
    justify-self: center;
  }

  .cast-page-header:not(.guide-page-header) > .cast-back-link,
  .cast-page-header:not(.guide-page-header) > .profile-header-actions {
    grid-column: 1 / -1;
    width: 100%;
    justify-self: stretch;
  }

  .profile-header-actions,
  .admin-inline-actions,
  .admin-filter-actions,
  .cast-form-actions,
  .profile-edit-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    width: 100%;
  }

  .profile-header-actions .cast-back-link,
  .admin-inline-actions a,
  .admin-inline-actions button,
  .admin-filter-actions a,
  .admin-filter-actions button,
  .cast-form-actions a,
  .cast-form-actions button,
  .profile-edit-actions a,
  .profile-edit-actions button,
  .cast-primary-button,
  .cast-danger-button {
    width: 100%;
    max-width: none;
    min-width: 0;
    flex: 1 1 auto;
    white-space: normal;
    padding-inline: 12px;
  }

  .push-notification-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .push-notification-actions button {
    width: 100%;
  }

  .admin-filter-form,
  .admin-card-grid,
  .admin-activity-stats,
  .admin-detail-list {
    grid-template-columns: 1fr;
  }

  .admin-card-head {
    display: grid;
    grid-template-columns: 1fr;
  }

  .admin-status-pill {
    justify-self: start;
  }

  .notification-detail-button {
    width: 100%;
  }
}

@media (min-width: 721px) {
  .admin-filter-actions,
  .admin-inline-actions {
    flex-wrap: nowrap;
  }
}
.profile-edit-header-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: center;
  min-width: min(100%, 390px);
}

.profile-edit-header-actions .cast-back-link {
  width: 100%;
  min-width: 0;
  white-space: normal;
  padding-inline: 12px;
  font-size: clamp(0.78rem, 2.6vw, 0.92rem);
  line-height: 1.25;
}

.notification-settings-panel {
  scroll-margin-top: 24px;
}

.admin-users-page .admin-top-actions,
.admin-users-page .admin-search-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.admin-users-page .admin-top-actions .button-link,
.admin-users-page .admin-search-row .button-link,
.admin-users-page .admin-search-row button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  box-sizing: border-box;
  white-space: normal;
}

.admin-users-page .admin-search-row input {
  flex: 1 1 220px;
  min-width: 0;
}

.pwa-first-notification-modal[hidden] {
  display: none;
}

.pwa-first-notification-card {
  max-width: 520px;
}

.pwa-first-notification-lead,
.pwa-first-notification-status {
  line-height: 1.85;
  margin: 0 0 14px;
}

.pwa-first-notification-status {
  padding: 12px 14px;
}

.pwa-first-notification-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-top: 18px;
}

@media (max-width: 720px) {
  .cast-page-header:not(.guide-page-header) > .profile-edit-header-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
  }

  .profile-edit-header-actions .cast-back-link {
    min-height: 46px;
    padding: 10px 8px;
    font-size: clamp(0.72rem, 3.05vw, 0.84rem);
  }

  .admin-users-page .admin-top-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .admin-users-page .admin-top-actions .button-link {
    width: 100%;
    max-width: none;
    min-width: 0;
  }

  .admin-users-page .admin-search-row {
    display: grid;
    grid-template-columns: 1fr 0.72fr;
    gap: 9px;
    width: 100%;
  }

  .admin-users-page .admin-search-row input {
    grid-column: 1 / -1;
    width: 100%;
  }

  .admin-users-page .admin-search-row button,
  .admin-users-page .admin-search-row .admin-mini-link {
    width: 100%;
    min-width: 0;
    padding-inline: 10px;
    font-size: 0.88rem;
  }

  .pwa-first-notification-card {
    width: min(100% - 22px, 520px);
    padding: 20px;
  }

  .pwa-first-notification-actions {
    grid-template-columns: 1fr;
  }

  .pwa-first-notification-actions button {
    width: 100%;
  }
}

@media (max-width: 390px) {
  .profile-edit-header-actions .cast-back-link {
    font-size: 0.70rem;
    padding-inline: 6px;
  }
}
.push-first-gate-modal[hidden] {
  display: none;
}

.push-first-gate-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
}

.push-first-gate-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.push-first-gate-backdrop {
  position: absolute;
  inset: 0;
}

.push-first-gate-card {
  position: relative;
  width: min(520px, 100%);
  padding: 28px;
  transform: translateY(12px) scale(0.98);
}

.push-first-gate-modal.is-open .push-first-gate-card {
  transform: translateY(0) scale(1);
}

.push-first-gate-kicker {
  margin: 0 0 8px;
  font-size: 0.78rem;
  font-weight: 800;
}

.push-first-gate-card h2 {
  margin: 0 0 12px;
  font-size: clamp(1.35rem, 4.6vw, 2rem);
}

.push-first-gate-lead {
  margin: 0 0 16px;
  line-height: 1.75;
}

.push-first-gate-list {
  display: grid;
  gap: 8px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.push-first-gate-list li {
  padding: 10px 12px;
}

.push-first-gate-status {
  min-height: 1.5em;
  margin: 0 0 16px;
  font-size: 0.9rem;
  line-height: 1.6;
}

.push-first-gate-actions {
  display: flex;
  gap: 12px;
  align-items: stretch;
}

.push-first-gate-actions button {
  min-height: 48px;
  margin: 0;
  font-weight: 800;
}

.push-first-gate-enable {
  flex: 1.3;
}

.push-first-gate-skip {
  flex: 0.8;
}

.push-first-gate-actions button:disabled {
  opacity: 0.55;
}

@media (max-width: 480px) {
  .push-first-gate-modal {
    padding: 14px;
  }

  .push-first-gate-card {
    padding: 22px 18px;
  }

  .push-first-gate-actions {
    gap: 8px;
  }

  .push-first-gate-actions button {
    min-height: 46px;
    padding-left: 12px;
    padding-right: 12px;
    font-size: 0.88rem;
    white-space: nowrap;
  }
}
.admin-notice-card {
  max-width: 1120px;
}
.admin-notice-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 22px;
}
.admin-notice-form {
  display: grid;
  gap: 18px;
  margin: 20px 0 34px;
}
.admin-notice-form input[type="text"],
.admin-notice-form input[type="url"],
.admin-notice-form input[type="datetime-local"],
.admin-notice-form select,
.admin-notice-form textarea {
  width: 100%;
  box-sizing: border-box;
}
.admin-notice-fieldset {
  padding: 16px;
  display: grid;
  gap: 12px;
}
.admin-notice-fieldset legend {
  padding: 0 8px;
  font-weight: 700;
}
.radio-line,
.checkbox-line {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.admin-notice-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.button.compact {
  padding: 8px 12px;
  font-size: 0.9rem;
  min-height: auto;
}
.admin-notice-list-section {
  margin-top: 28px;
}
.dashboard-admin-notices {
  display: grid;
  gap: 14px;
}
.dashboard-admin-notice-card {
  padding: 16px;
}
.dashboard-admin-notice-card h3 {
  margin: 4px 0 8px;
}
.dashboard-admin-notice-card p {
  margin: 0 0 12px;
  line-height: 1.75;
}
.dashboard-admin-notice-meta {
  font-size: 0.82rem;
}
.notice-link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 14px;
  text-decoration: none;
}
@media (max-width: 720px) {
  .admin-notice-head,
  .admin-notice-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .admin-notice-head .button,
  .admin-notice-actions .button {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  .admin-notice-table-wrap table {
    min-width: 760px;
  }
}
.cast-mini-card-list {
  display: grid;
  gap: 14px;
}

.cast-mini-card {
  padding: 16px 18px;
}

.cast-mini-card-head,
.leave-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.leave-history-type {
  min-width: 0;
}

.leave-history-status {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 12px;
  font-size: 0.86rem;
  line-height: 1.2;
  white-space: nowrap;
}

@media (max-width: 520px) {
  .cast-mini-card {
    padding: 14px;
  }

  .cast-mini-card-head,
  .leave-history-head {
    align-items: flex-start;
    gap: 8px;
  }

  .leave-history-status {
    font-size: 0.82rem;
    padding-inline: 10px;
  }
}
.leave-history-card,
.progress-history-card {
  overflow: hidden;
}

.leave-history-head,
.progress-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: nowrap;
  width: 100%;
  min-width: 0;
  margin-bottom: 10px;
}

.leave-history-type,
.progress-history-type {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.45;
}

.leave-history-status,
.progress-history-status {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: max-content;
  min-height: 30px;
  padding: 6px 13px;
  margin-left: 8px;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
}

.progress-history-section {
  margin-top: 22px;
}

.progress-history-target {
  margin: 0 0 6px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.admin-notice-page {
  min-height: 100vh;
  padding: 28px 16px;
  box-sizing: border-box;
}

.admin-notice-card {
  width: min(1120px, 100%);
  margin-inline: auto;
  box-sizing: border-box;
}

.admin-notice-head {
  align-items: center;
}

.admin-notice-form label,
.admin-notice-form .radio-line,
.admin-notice-form .checkbox-line {
  font-weight: 700;
}

.admin-notice-form input[type="text"],
.admin-notice-form input[type="url"],
.admin-notice-form input[type="datetime-local"],
.admin-notice-form select,
.admin-notice-form textarea {
  margin-top: 8px;
  min-height: 48px;
  padding: 12px 14px;
  font: inherit;
}

.admin-notice-form textarea {
  min-height: 150px;
  resize: vertical;
  line-height: 1.7;
}

.admin-notice-fieldset {
  min-width: 0;
}

.admin-notice-fieldset input[type="datetime-local"],
.admin-notice-fieldset select,
.admin-notice-fieldset input[type="url"] {
  margin-top: 0;
}

.admin-notice-actions .button,
.admin-notice-head .button {
  min-height: 44px;
  box-sizing: border-box;
}

@media (max-width: 720px) {
  .leave-history-head,
  .progress-history-head {
    gap: 10px;
  }

  .leave-history-status,
  .progress-history-status {
    margin-left: 10px;
    padding: 6px 11px;
    font-size: 0.78rem;
  }

  .admin-notice-page {
    padding: 16px 10px 28px;
  }

  .admin-notice-card {
    padding: 20px 14px;
  }

  .admin-notice-head {
    gap: 14px;
  }

  .admin-notice-head h1 {
    font-size: clamp(1.55rem, 7vw, 2rem);
  }

  .admin-notice-fieldset {
    padding: 14px 12px;
    gap: 11px;
  }

  .radio-line,
  .checkbox-line {
    align-items: flex-start;
    line-height: 1.55;
  }

  .admin-notice-form input[type="text"],
  .admin-notice-form input[type="url"],
  .admin-notice-form input[type="datetime-local"],
  .admin-notice-form select,
  .admin-notice-form textarea {
    font-size: 16px;
  }

  .admin-notice-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

@media (max-width: 390px) {
  .leave-history-head,
  .progress-history-head {
    align-items: flex-start;
  }

  .leave-history-type,
  .progress-history-type {
    font-size: 0.96rem;
  }

  .leave-history-status,
  .progress-history-status {
    margin-left: 6px;
    padding-inline: 9px;
  }
}
.profile-edit-header-actions .cast-back-link {
  white-space: nowrap;
  word-break: keep-all;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 720px) {
  .profile-edit-header-actions {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 6px;
  }

  .profile-edit-header-actions .cast-back-link {
    min-height: 42px;
    padding: 9px 6px;
    font-size: clamp(0.64rem, 2.8vw, 0.78rem);
    line-height: 1;
  }
}

@media (max-width: 360px) {
  .profile-edit-header-actions .cast-back-link {
    font-size: 0.61rem;
    padding-inline: 5px;
  }
}
img,
svg,
.dashboard-card-icon,
.dashboard-center-image,
.loading-smais-image {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  user-drag: none;
}

.ios-statusbar-cover,
.loader-statusbar-cover {
  display: none;
}
.admin-notice-page,
.admin-notice-page * {
  box-sizing: border-box;
}

.admin-notice-page {
  overflow-x: hidden;
}

.admin-notice-page .admin-notice-card,
.admin-notice-page .admin-notice-form,
.admin-notice-page .admin-notice-fieldset,
.admin-notice-page .admin-notice-list-section,
.admin-notice-page .admin-notice-table-wrap {
  min-width: 0;
  max-width: 100%;
}

.admin-notice-page .admin-notice-form label {
  display: block;
  min-width: 0;
}

.admin-notice-page .admin-notice-form input[type="text"],
.admin-notice-page .admin-notice-form input[type="url"],
.admin-notice-page .admin-notice-form input[type="datetime-local"],
.admin-notice-page .admin-notice-form select,
.admin-notice-page .admin-notice-form textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.admin-notice-page .admin-notice-fieldset {
  overflow: hidden;
}

.admin-notice-page .radio-line,
.admin-notice-page .checkbox-line {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.admin-notice-page .admin-notice-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 720px) {
  .admin-notice-page {
    width: 100%;
    padding: 14px 10px calc(28px + env(safe-area-inset-bottom));
  }

  .admin-notice-page .admin-notice-card {
    width: 100%;
    max-width: 100%;
    padding: 18px 12px;
    overflow: hidden;
  }

  .admin-notice-page .admin-notice-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    align-items: stretch;
  }

  .admin-notice-page .admin-notice-head .button {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-inline: 12px;
    white-space: nowrap;
  }

  .admin-notice-page .admin-notice-form {
    gap: 16px;
    margin-top: 18px;
  }

  .admin-notice-page .admin-notice-form input[type="text"],
  .admin-notice-page .admin-notice-form input[type="url"],
  .admin-notice-page .admin-notice-form input[type="datetime-local"],
  .admin-notice-page .admin-notice-form select,
  .admin-notice-page .admin-notice-form textarea {
    font-size: 16px;
    padding: 12px;
  }

  .admin-notice-page .admin-notice-fieldset {
    padding: 14px 10px;
    gap: 10px;
  }

  .admin-notice-page .admin-notice-fieldset legend {
    max-width: calc(100vw - 72px);
  }

  .admin-notice-page .radio-line,
  .admin-notice-page .checkbox-line {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    column-gap: 9px;
    row-gap: 4px;
    line-height: 1.55;
  }

  .admin-notice-page .radio-line input,
  .admin-notice-page .checkbox-line input {
    margin-top: 0.28em;
    flex: 0 0 auto;
  }

  .admin-notice-page .admin-notice-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .admin-notice-page .admin-notice-actions .button {
    width: 100%;
    min-width: 0;
    padding-inline: 12px;
    white-space: normal;
    line-height: 1.35;
  }

  .admin-notice-page .admin-notice-table-wrap {
    margin-inline: 0;
    padding-bottom: 6px;
  }

  .admin-notice-page .admin-notice-table-wrap table {
    min-width: 720px;
  }
}

@media (max-width: 390px) {
  .admin-notice-page .admin-notice-card {
    padding-inline: 10px;
  }

  .admin-notice-page .admin-notice-head h1 {
    font-size: 1.48rem;
  }

  .admin-notice-page .admin-notice-head p {
    font-size: 0.88rem;
  }
}
.dashboard-admin-notice-card-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.dashboard-notice-direct-link {
  position: relative;
  z-index: 2;
  white-space: nowrap;
}
.admin-notice-detail-actions.is-push-open {
  justify-content: center;
  text-align: center;
}
.admin-notice-detail-link-button.is-push-related-button {
  min-width: 210px;
  justify-content: center;
}
@media (max-width: 640px) {
  .dashboard-admin-notice-card-actions {
    align-items: stretch;
  }
  .dashboard-notice-direct-link {
    width: 100%;
  }
  .admin-notice-detail-actions.is-push-open {
    justify-content: center;
  }
  .admin-notice-detail-link-button.is-push-related-button {
    width: auto;
    min-width: min(240px, 100%);
  }
}
.admin-notice-detail-modal {
  position: fixed;
  inset: 0;
  z-index: 10030;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
  box-sizing: border-box;
}

.admin-notice-detail-modal.is-open {
  display: flex;
}

.admin-notice-detail-backdrop {
  position: absolute;
  inset: 0;
}

.admin-notice-detail-panel {
  position: relative;
  width: min(92vw, 520px);
  max-height: min(78vh, 720px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.admin-notice-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 22px 24px 14px;
  border-bottom: 1px solid rgba(212, 175, 55, 0.18);
}

.admin-notice-detail-head p {
  margin: 0 0 6px;
  font-size: 0.72rem;
  font-weight: 800;
}

.admin-notice-detail-head h2 {
  margin: 0;
  font-size: clamp(1.24rem, 4.3vw, 1.8rem);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.admin-notice-detail-close {
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  line-height: 1;
}

.admin-notice-detail-meta {
  padding: 12px 24px 0;
  font-size: 0.82rem;
}

.admin-notice-detail-.native-screen {
  padding: 16px 24px 18px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.admin-notice-detail-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 0 24px 24px;
}

.admin-notice-detail-link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 18px;
  font-weight: 800;
  text-decoration: none;
}

@media (max-width: 640px) {
  .admin-notice-detail-modal {
    align-items: flex-end;
    padding: 12px;
  }

  .admin-notice-detail-panel {
    width: 100%;
    max-height: 84vh;
  }

  .admin-notice-detail-head {
    padding: 20px 20px 12px;
  }

  .admin-notice-detail-meta {
    padding-inline: 20px;
  }

  .admin-notice-detail-.native-screen {
    padding: 14px 20px 18px;
  }

  .admin-notice-detail-actions {
    justify-content: center;
    padding: 0 20px 20px;
  }

  .admin-notice-detail-link-button {
    width: 100%;
  }
}
@supports (padding: env(safe-area-inset-top)) {
  .native-screen.dashboard-page,
  .native-screen.app-page {
    padding-top: env(safe-area-inset-top);
  }
  .loading-screen {
    top: 0;
    bottom: 0;
    height: auto;
    min-height: 0;
    padding-top: 24px;
  }
}

@supports (padding: env(safe-area-inset-top)) {
  .smais-ios-statusbar-mode .page-mickey-transition,
  .smais-ios-statusbar-mode .subpage-entry-fade {
    top: 0;
    bottom: 0;
    height: auto;
    min-height: 0;
  }
}
.native-screen.dashboard-root,
.native-screen.dashboard-page {
  min-height: 100%;
}
.native-screen.dashboard-page .dashboard-main {
  min-height: 100svh;
}
@supports (min-height: 100dvh) {
  .native-screen.dashboard-page .dashboard-main {
    min-height: 100dvh;
  }
}

.native-screen.dashboard-root,
.native-screen.dashboard-page {
  min-height: var(--smais-stable-vh);
  overscroll-behavior-y: none;
}

@supports (padding: env(safe-area-inset-top)) {
  .native-screen.dashboard-page {
    padding-top: 0;
  }

  .native-screen.dashboard-page .dashboard-main {
    box-sizing: border-box;
    min-height: var(--smais-stable-vh);
    padding-top: var(--smais-statusbar-height);
  }
}

.native-screen.smais-loader-geometry-lock,
.native-screen.smais-loader-geometry-lock .native-screen.dashboard-page {
  height: var(--smais-stable-vh);
  min-height: var(--smais-stable-vh);
  overflow: hidden;
}

.native-screen.smais-loader-geometry-lock .native-screen.dashboard-page .dashboard-main {
  min-height: var(--smais-stable-vh);
}

.loading-screen,
.page-mickey-transition,
.subpage-entry-fade {
  transform: translateZ(0);
  backface-visibility: hidden;
}
.subpage-entry-fade {
  display: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.smais-statusbar-black-guard {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  height: var(--smais-statusbar-height, env(safe-area-inset-top, 0px));
  z-index: 2147483647;
  pointer-events: none;
}
.attraction-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
}

.attraction-card {
  min-height: 168px;
  padding: 0;
  isolation: isolate;
}

.attraction-card-content {
  position: relative;
  z-index: 3;
  width: 62%;
  min-height: 168px;
  padding: 22px 18px 20px 22px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.attraction-card-visual {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 56%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1.01);
  -webkit-mask-image: linear-gradient(90deg,
    transparent 0%,
    rgba(0, 0, 0, 0.12) 14%,
    rgba(0, 0, 0, 0.72) 34%,
    #000 56%,
    #000 100%);
  mask-image: linear-gradient(90deg,
    transparent 0%,
    rgba(0, 0, 0, 0.12) 14%,
    rgba(0, 0, 0, 0.72) 34%,
    #000 56%,
    #000 100%);
}

.attraction-card-shade {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.attraction-card:hover .attraction-card-visual {
  transform: scale(1.055);
}

.attraction-empty-card-overlay,
.attraction-lock-overlay {
  z-index: 8;
}

@media (max-width: 560px) {
  .attraction-card-grid {
    grid-template-columns: 1fr;
  }

  .attraction-card-content {
    width: 68%;
    padding: 20px 14px 18px 18px;
  }

  .attraction-card-visual {
    width: 58%;
  }

  .attraction-card strong {
    font-size: 16px;
  }
}
.teleport-attraction-choice-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  justify-content: flex-start;
  gap: 9px;
  padding-bottom: 28px;
}

.teleport-attraction-choice-card .teleport-choice-topline,
.teleport-attraction-choice-card .teleport-choice-.native-screen,
.teleport-attraction-choice-card .teleport-choice-arrow {
  position: relative;
  z-index: 3;
}

.teleport-attraction-choice-card .teleport-choice-.native-screen {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.teleport-attraction-choice-card .teleport-choice-arrow {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 2px;
  margin-bottom: 0;
  line-height: 1.15;
  transform: none;
}

.teleport-attraction-card-image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(58%, 340px);
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.06) 12%, rgba(0,0,0,0.32) 28%, rgba(0,0,0,0.82) 48%, #000 66%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.06) 12%, rgba(0,0,0,0.32) 28%, rgba(0,0,0,0.82) 48%, #000 66%);
}

.teleport-attraction-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.teleport-attraction-card-image.is-missing {
  display: none;
}

.teleport-attraction-choice-sub {
  position: relative;
  z-index: 3;
}

@media (max-width: 640px) {
  .teleport-attraction-choice-card {
    padding-bottom: 30px;
    gap: 8px;
  }

  .teleport-attraction-choice-card .teleport-choice-arrow {
    margin-top: 1px;
  }
}
.teleport-area-choice-card {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  justify-content: flex-start;
  gap: 9px;
  padding-bottom: 28px;
}

.teleport-area-choice-card .teleport-choice-topline,
.teleport-area-choice-card .teleport-choice-.native-screen,
.teleport-area-choice-card .teleport-choice-arrow {
  position: relative;
  z-index: 3;
}

.teleport-area-choice-card .teleport-choice-.native-screen {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.teleport-area-choice-card .teleport-choice-arrow {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 2px;
  margin-bottom: 0;
  line-height: 1.15;
  transform: none;
}

.teleport-area-card-image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(58%, 340px);
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.06) 12%, rgba(0,0,0,0.32) 28%, rgba(0,0,0,0.82) 48%, #000 66%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,0.06) 12%, rgba(0,0,0,0.32) 28%, rgba(0,0,0,0.82) 48%, #000 66%);
}

.teleport-area-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.teleport-area-card-image.is-missing {
  display: none;
}

.teleport-area-choice-sub {
  position: relative;
  z-index: 3;
}

@media (max-width: 640px) {
  .teleport-area-choice-card {
    padding-bottom: 30px;
    gap: 8px;
  }

  .teleport-area-choice-card .teleport-choice-arrow {
    margin-top: 1px;
  }
}

.native-screen.smais-offset-statusbar.cast-subpage {
  min-height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
}

.native-screen.smais-offset-statusbar.cast-subpage > .cast-page-shell {
  box-sizing: border-box;
  padding-top: calc(clamp(28px, 5vw, 64px) + var(--smais-statusbar-height, 0px) + var(--smais-statusbar-content-gap, 10px));
  padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px) + 24px);
}

.native-screen.smais-offset-statusbar.cast-subpage .teleport-modal,
.native-screen.smais-offset-statusbar.cast-subpage .attraction-operation-modal,
.native-screen.smais-offset-statusbar.cast-subpage .attraction-rank-list-modal,
.native-screen.smais-offset-statusbar.cast-subpage .history-detail-modal {
  padding-top: var(--smais-statusbar-height, 0px);
}
@supports (-webkit-touch-callout: none) {
  .native-screen.ios-bluemap-iframe .map-page .map-panel,
  .native-screen.ios-bluemap-iframe .map-page .bluemap-frame-wrap {
    -webkit-backdrop-filter: none;
    mix-blend-mode: normal;
    isolation: auto;
    contain: none;
    transform: none;
    -webkit-transform: none;
    perspective: none;
    will-change: auto;
  }

  .native-screen.ios-bluemap-iframe .map-page .bluemap-frame-wrap {
    overflow: visible;
  }

  .native-screen.ios-bluemap-iframe .map-page .bluemap-frame {
    opacity: var(--bluemap-ios-opacity, 1);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
    transform-origin: 50% 50%;
    will-change: transform, opacity;
  }
}
@media (min-width: 769px) {
  .native-screen.auth-document {
    min-height: 100%;
  }

  .native-screen.auth-page {
    min-height: 100vh;
    min-height: 100dvh;
    padding-top: clamp(72px, 8vh, 104px);
    padding-bottom: clamp(48px, 7vh, 88px);
  }

  .native-screen.auth-page > .card {
    margin-top: 0;
  }
}
.guide-page-header.guide-hero-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(18px, 3vw, 34px);
  padding: clamp(26px, 4vw, 42px);
  overflow: hidden;
}

.guide-hero-main {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: clamp(18px, 3vw, 28px);
  min-width: 0;
}

.guide-hero-text {
  min-width: 0;
}

.guide-hero-text .cast-page-kicker {
  margin-bottom: 8px;
}

.guide-hero-text h1 {
  margin: 0;
  font-size: clamp(1.55rem, 3vw, 2.4rem);
  line-height: 1.32;
}

.guide-hero-text p:not(.cast-page-kicker) {
  max-width: 720px;
  margin: 12px 0 0;
  line-height: 1.9;
}

.guide-page-header .guide-hero-back {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
}

@media (max-width: 760px) {
  .guide-page-header.guide-hero-header {
    align-items: stretch;
    flex-direction: column;
    gap: 20px;
    padding: 24px 20px;
  }

  .guide-hero-main {
    align-items: flex-start;
  }

  .guide-hero-text h1 {
    font-size: clamp(1.38rem, 7vw, 1.85rem);
  }

  .guide-page-header .guide-hero-back {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .guide-hero-main {
    gap: 14px;
  }

  .guide-hero-text p:not(.cast-page-kicker) {
    font-size: 0.92rem;
    line-height: 1.75;
  }
}
.guide-page-header.guide-hero-header {
  align-items: stretch;
  flex-direction: column;
  justify-content: flex-start;
  gap: 18px;
}

.guide-hero-main {
  width: 100%;
  align-items: flex-start;
}

.guide-hero-text {
  flex: 1 1 auto;
}

.guide-hero-text h1 {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.guide-hero-text p:not(.cast-page-kicker) {
  max-width: none;
  font-size: clamp(0.96rem, 1.6vw, 1.05rem);
  line-height: 1.85;
}

.guide-page-header .guide-hero-back {
  align-self: flex-start;
}

.native-screen.smais-offset-statusbar.guide-page > .guide-page-shell {
  padding-top: calc(clamp(28px, 5vw, 64px) + var(--smais-statusbar-height, 0px) + var(--smais-statusbar-content-gap, 10px));
}

@media (max-width: 760px) {
  .guide-page-header.guide-hero-header {
    gap: 16px;
  }

  .guide-page-header .guide-hero-back {
    align-self: stretch;
  }
}

@media (max-width: 520px) {
  .guide-hero-main {
    flex-direction: column;
  }

  .guide-hero-text h1 {
    line-height: 1.38;
  }
}
.native-screen.smais-offset-statusbar.guide-page {
  padding-top: 0;
}

.native-screen.smais-offset-statusbar.guide-page > .guide-page-shell {
  box-sizing: border-box;
  padding-top: calc(clamp(28px, 5vw, 64px) + var(--smais-statusbar-height, 0px) + var(--smais-statusbar-content-gap, 10px));
}

@supports (padding: env(safe-area-inset-top)) {
  .native-screen.smais-offset-statusbar.guide-page {
    padding-top: 0;
  }
}
.native-screen,
.native-screen {
  touch-action: manipulation;
  -ms-touch-action: manipulation;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.native-screen {
  overscroll-behavior: none;
}

img,
svg,
button,
a,
.card,
.dashboard-card,
.action-card,
.teleport-card,
.area-card,
.attraction-card {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

input,
textarea,
select,
[contenteditable="true"] {
  -webkit-user-select: text;
  user-select: text;
  touch-action: manipulation;
}
.native-screen:not(.allow-text-select),
.native-screen:not(.allow-text-select) * {
  -webkit-user-select: none;
  user-select: none;
}

.native-screen.allow-text-select,
.native-screen.allow-text-select .guide-panel,
.native-screen.allow-text-select .guide-panel * {
  -webkit-user-select: text;
  user-select: text;
}

.native-screen:not(.allow-text-select) input,
.native-screen:not(.allow-text-select) textarea,
.native-screen:not(.allow-text-select) select,
.native-screen:not(.allow-text-select) [contenteditable="true"] {
  -webkit-user-select: text;
  user-select: text;
}
.cast-date-select-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 560px) {
  .cast-date-select-row {
    grid-template-columns: 1fr 1fr;
  }
}

.profile-month-report-title {
  margin: 0 0 14px;
  font-size: clamp(1.35rem, 4vw, 2.15rem);
}

.profile-month-detail-list {
  margin-bottom: 16px;
}

.profile-month-detail-list li span,
.profile-rank-detail-conclusion span {
  font-weight: 900;
}

.profile-rank-detail-conclusion {
  margin: 0;
  font-weight: 850;
  line-height: 1.75;
}
.profile-rank-value-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
}

.profile-rank-detail-button {
  appearance: none;
  font-weight: 800;
  font-size: .82rem;
  padding: 8px 14px;
  min-width: 72px;
}

.profile-rank-detail-button:active {
  transform: translateY(1px);
}

.profile-user-facts .profile-fact-card-compact {
  min-height: 58px;
  padding: 10px 12px;
}

.profile-user-facts .profile-fact-card-compact span {
  font-size: .62rem;
}

.profile-user-facts .profile-fact-card-compact strong,
.profile-user-facts .profile-fact-card-compact [data-profile-cast-id] {
  font-size: .96rem;
  line-height: 1.05;
}

.profile-rank-detail-modal {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));
  opacity: 0;
  pointer-events: none;
}

.profile-rank-detail-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}

.profile-rank-detail-backdrop {
  position: absolute;
  inset: 0;
}

.profile-rank-detail-dialog {
  position: relative;
  width: min(560px, 94vw);
  max-height: min(78vh, 720px);
  overflow: auto;
  transform: translateY(18px) scale(.98);
}

.profile-rank-detail-modal.is-open .profile-rank-detail-dialog {
  transform: translateY(0) scale(1);
}

.profile-rank-detail-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  font-size: 1.35rem;
  line-height: 1;
}

.profile-rank-detail-modal-open {
  overflow: hidden;
}

@media (max-width: 640px) {
  .profile-rank-value-row {
    gap: 10px;
  }
  .profile-rank-detail-button {
    min-width: 64px;
    padding: 7px 12px;
    font-size: .78rem;
  }
  .profile-rank-detail-dialog {
    width: min(94vw, 520px);
    max-height: 82vh;
  }
}
.profile-rank-main {
  position: relative;
}

.profile-rank-value-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
}

.profile-rank-value-row > strong[data-profile-current-rank] {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1;
}

.profile-rank-detail-button {
  flex: 0 0 auto;
  align-self: center;
  min-width: 0;
  height: 28px;
  padding: 0 10px;
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 28px;
}

.profile-rank-detail-button:hover,
.profile-rank-detail-button:focus-visible {
  outline: none;
}

.profile-month-rank-detail-card {
  display: none;
}

.profile-rank-detail-modal {
  display: grid;
}

@media (max-width: 640px) {
  .profile-rank-detail-button {
    height: 26px;
    padding: 0 9px;
    font-size: 0.68rem;
    line-height: 26px;
  }
}
.profile-rank-main .profile-rank-value-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  column-gap: 8px;
  width: 100%;
}

.profile-rank-main .profile-rank-value-row > strong[data-profile-current-rank] {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1;
}

.profile-rank-main .profile-rank-detail-button {
  justify-self: end;
  width: auto;
  min-width: 0;
  max-width: none;
  height: 22px;
  padding: 0 7px;
  margin: 0;
  font-size: 0.66rem;
  font-weight: 850;
  line-height: 20px;
  white-space: nowrap;
  box-sizing: border-box;
}

@media (max-width: 640px) {
  .profile-rank-main .profile-rank-value-row {
    column-gap: 6px;
  }

  .profile-rank-main .profile-rank-detail-button {
    height: 21px;
    padding: 0 6px;
    font-size: 0.62rem;
    line-height: 19px;
  }
}
.profile-rank-main .profile-rank-value-row.smais-rank-row-fixed{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;width:100%;justify-self:stretch;padding:0;margin:0;}
.profile-rank-main .profile-rank-value-row.smais-rank-row-fixed>[data-profile-current-rank]{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:.96;margin:0;padding:0;}
.profile-rank-main .profile-rank-value-row.smais-rank-row-fixed>.profile-rank-detail-button{justify-self:end;align-self:center;width:fit-content;min-width:0;max-width:none;height:26px;padding:0 11px;margin:0;transform:translateY(2px);font-size:12px;font-weight:850;line-height:24px;white-space:nowrap;box-sizing:border-box;}
.profile-month-rank-detail-card{display:none;}
.profile-rank-detail-dialog{
  position:relative;
  padding-top:42px;
}
.profile-rank-detail-close{
  position:absolute;
  top:12px;
  right:12px;
  z-index:5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  min-width:34px;
  min-height:34px;
  padding:0;
  margin:0;
  line-height:1;
  font-size:22px;
  font-weight:700;
  text-align:center;
  box-sizing:border-box;
  transform:none;
  appearance:none;
  -webkit-appearance:none;
}
.dashboard-profile-topline-inline {
  align-items: flex-start;
  justify-content: flex-start;
  margin-bottom: clamp(22px, 4vw, 34px);
}

.dashboard-profile-title-block {
  width: 100%;
  min-width: 0;
}

.dashboard-profile-nickname-line {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  width: 100%;
  flex-wrap: nowrap;
}

.dashboard-profile-nickname-label {
  flex: 0 0 auto;
  font-size: clamp(1.1rem, 2.5vw, 1.55rem);
  font-weight: 950;
  line-height: 1.12;
  white-space: nowrap;
}

.dashboard-profile-nickname-value {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  font-size: clamp(1.5rem, 3.6vw, 2.16rem);
  font-weight: 950;
  line-height: 1.02;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-profile-single-card .dashboard-profile-inline-button {
  flex: 0 0 auto;
  margin-left: auto;
  align-self: center;
  min-height: 32px;
  padding: 7px 12px;
  font-size: 0.72rem;
  line-height: 1;
  white-space: nowrap;
}

.dashboard-profile-info-row-single {
  grid-template-columns: minmax(0, 1fr);
}

.dashboard-profile-info-row-single .dashboard-profile-info-item {
  padding-right: 0;
}

.dashboard-profile-info-row-single .dashboard-profile-info-item + .dashboard-profile-info-item {
  padding-left: 0;
  border-left: 0;
}

@media (max-width: 520px) {
  .dashboard-profile-nickname-line {
    gap: 6px;
  }
  .dashboard-profile-nickname-label {
    font-size: 1.04rem;
  }
  .dashboard-profile-nickname-value {
    font-size: 1.22rem;
  }
  .dashboard-profile-single-card .dashboard-profile-inline-button {
    margin-left: auto;
    padding: 7px 10px;
    font-size: 0.68rem;
  }
}
.dashboard-profile-single-card .dashboard-profile-nickname-value {
  font-size: clamp(1.5rem, 3.6vw, 2.16rem);
  line-height: 1.02;
}
.native-screen.dashboard-page .rules-modal,
.rules-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(18px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  box-sizing: border-box;
  z-index: 2600;
}

.rules-modal-backdrop {
  position: fixed;
  inset: 0;
}

.native-screen.dashboard-page .rules-modal-panel,
.rules-modal-panel {
  position: relative;
  width: min(960px, calc(100vw - 32px));
  height: min(82dvh, 760px);
  max-height: calc(100dvh - max(36px, env(safe-area-inset-top)) - max(36px, env(safe-area-inset-bottom)));
  margin: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: translateY(10px) scale(0.985);
}

.rules-modal.is-open .rules-modal-panel {
  transform: translateY(0) scale(1);
}

.native-screen.dashboard-page .rules-modal-.native-screen,
.rules-modal-.native-screen {
  flex: 1 1 auto;
  height: auto;
  min-height: 0;
  overflow: auto;
}

@media (max-width: 640px) {
  .native-screen.dashboard-page .rules-modal,
  .rules-modal {
    padding: max(14px, env(safe-area-inset-top)) 12px max(14px, env(safe-area-inset-bottom));
  }

  .native-screen.dashboard-page .rules-modal-panel,
  .rules-modal-panel {
    width: calc(100vw - 24px);
    height: min(84dvh, 720px);
    max-height: calc(100dvh - max(28px, env(safe-area-inset-top)) - max(28px, env(safe-area-inset-bottom)));
  }
}

.teleport-player-card.is-disabled-player {
  opacity: 0.42;
}

.teleport-player-card.is-disabled-player:hover,
.teleport-player-card.is-disabled-player:focus-visible {
  transform: none;
}
.dashboard-profile-flip-scene {
  perspective: 1200px;
}

.dashboard-profile-flip-card {
  position: relative;
  padding: 0;
  overflow: visible;
  transform-style: preserve-3d;
  transform-origin: center center;
  will-change: transform;
}

.dashboard-profile-flip-card.is-flipped {
  transform: rotateY(180deg);
}

.dashboard-profile-flip-card:focus-visible {
  outline: 2px solid rgba(255, 221, 138, 0.78);
  outline-offset: 4px;
}

.dashboard-profile-flip-face {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-height: 100%;
  padding: clamp(22px, 4vw, 34px);
  overflow: hidden;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
}

.dashboard-profile-flip-face > * {
  position: relative;
  z-index: 1;
}

.dashboard-profile-flip-front {
  position: relative;
  transform: rotateY(0deg);
}

.dashboard-profile-flip-back {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  transform: rotateY(180deg);
  pointer-events: none;
}

.dashboard-profile-flip-card.is-flipped .dashboard-profile-flip-back {
  pointer-events: auto;
}

.dashboard-profile-back-head {
  display: grid;
  gap: 6px;
}

.dashboard-profile-back-head strong {
  font-size: clamp(1.18rem, 3.2vw, 1.72rem);
  line-height: 1.15;
  font-weight: 950;
}

.dashboard-profile-back-list {
  display: grid;
  gap: 8px;
  padding: 10px 0;
  border-top: 1px solid rgba(218, 184, 95, 0.22);
  border-bottom: 1px solid rgba(218, 184, 95, 0.22);
}

.dashboard-profile-back-list div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
}

.dashboard-profile-back-list span {
  font-size: 0.72rem;
  font-weight: 950;
}

.dashboard-profile-back-list strong {
  font-size: clamp(0.92rem, 2.1vw, 1.08rem);
  font-weight: 950;
  text-align: right;
  white-space: nowrap;
}

.dashboard-profile-back-list small {
  display: inline-block;
  margin-left: 6px;
  font-size: 0.72rem;
  font-weight: 850;
}

.dashboard-profile-back-message {
  align-self: stretch;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding-left: 0;
  font-size: clamp(0.94rem, 3.15vw, 1.18rem);
  line-height: 1.34;
  font-weight: 950;
  text-align: right;
  text-wrap: balance;
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.dashboard-profile-back-message br {
  display: block;
}
.dashboard-hero {
  padding-top: max(12px, env(safe-area-inset-top, 0px));
  padding-bottom: 8px;
}

.dashboard-center-image-wrap {
  min-height: 72px;
}

.dashboard-content {
  padding-top: 12px;
}

@media (max-width: 640px) {
  .dashboard-profile-back-list {
    gap: 7px;
  }

  .dashboard-profile-back-list div {
    gap: 8px;
  }

  .dashboard-profile-back-list span {
    font-size: 0.66rem;
  }

  .dashboard-profile-back-list strong {
    font-size: 0.86rem;
  }

  .dashboard-profile-back-list small {
    font-size: 0.66rem;
  }

  .dashboard-profile-back-message {
    font-size: clamp(0.88rem, 4.4vw, 1.05rem);
    line-height: 1.32;
  }

  .dashboard-hero {
    padding-top: max(8px, env(safe-area-inset-top, 0px));
  }
}
.dashboard-notice-bell,
.dashboard-guide-menu {
  top: 22px;
}

.dashboard-hamburger {
  width: 54px;
  height: 54px;
}

@media (max-width: 640px) {
  .dashboard-hero {
    padding-top: 0;
  }

  .dashboard-hero-inner {
    padding-top: 10px;
  }

  .dashboard-notice-bell,
  .dashboard-guide-menu {
    top: 14px;
  }

  .dashboard-notice-bell,
  .dashboard-hamburger {
    width: 48px;
    height: 48px;
  }

  .dashboard-guide-dropdown {
    top: 58px;
  }
}
@supports (-webkit-touch-callout: none) {
  @media (max-width: 640px) {
    .native-screen.dashboard-page .dashboard-main {
      padding-top: 0;
    }

    .native-screen.dashboard-page .dashboard-hero {
      padding-top: 0;
    }

    .native-screen.dashboard-page .dashboard-hero-inner {
      padding-top: 10px;
    }

    .native-screen.dashboard-page .dashboard-notice-bell,
    .native-screen.dashboard-page .dashboard-guide-menu {
      top: 14px;
    }

    .native-screen.dashboard-page .dashboard-notice-bell,
    .native-screen.dashboard-page .dashboard-hamburger {
      width: 48px;
      height: 48px;
    }
  }
}
.dashboard-hero {
  position: relative;
  overflow: visible;
  z-index: 9000;
}

.dashboard-content {
  position: relative;
  z-index: 1;
}

.dashboard-profile-flip-card,
.dashboard-profile-section,
.dashboard-profile-single-card {
  z-index: 1;
}

.dashboard-notice-bell {
  position: absolute;
  top: 22px;
  left: 22px;
  z-index: 9100;
}

.dashboard-guide-menu {
  position: absolute;
  top: 28px;
  right: 28px;
  z-index: 9200;
}

.dashboard-guide-dropdown {
  z-index: 9300;
}

@media (max-width: 640px) {
  .dashboard-notice-bell {
    position: absolute;
    top: 14px;
    left: 14px;
    width: 48px;
    height: 48px;
  }

  .dashboard-guide-menu {
    position: absolute;
    top: 14px;
    right: 14px;
  }

  .dashboard-hamburger {
    width: 48px;
    height: 48px;
  }

  .dashboard-guide-dropdown {
    top: 58px;
    right: 0;
    z-index: 9300;
  }
}

@supports (-webkit-touch-callout: none) {
  @media (max-width: 640px) {
    .native-screen.dashboard-page {
      padding-top: 0;
    }

    .native-screen.dashboard-page .dashboard-main {
      box-sizing: border-box;
      padding-top: env(safe-area-inset-top, 0px);
    }

    .native-screen.dashboard-page .dashboard-hero {
      padding-top: 0;
      overflow: visible;
      z-index: 9000;
    }

    .native-screen.dashboard-page .dashboard-hero-inner {
      padding-top: 10px;
    }

    .native-screen.dashboard-page .dashboard-notice-bell,
    .native-screen.dashboard-page .dashboard-guide-menu {
      position: absolute;
    }

    .native-screen.dashboard-page .dashboard-guide-menu,
    .native-screen.dashboard-page .dashboard-guide-dropdown {
      isolation: isolate;
    }
  }
}
.history-detail-modal {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: none;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: calc(18px + env(safe-area-inset-top, 0px)) 18px calc(18px + env(safe-area-inset-bottom, 0px));
  opacity: 0;
  pointer-events: none;
}

.history-detail-modal.is-open {
  display: flex;
  opacity: 1;
  pointer-events: auto;
}

.history-detail-modal[aria-hidden="true"] {
  display: none;
}

.history-detail-modal-panel {
  position: relative;
  width: min(92vw, 520px);
  max-height: min(78dvh, 680px);
  overflow: auto;
  box-sizing: border-box;
  padding: 24px 18px 18px;
  -webkit-overflow-scrolling: touch;
}

.history-detail-modal-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  font-size: 22px;
  line-height: 1;
  appearance: none;
  -webkit-appearance: none;
}

.history-detail-modal-.native-screen {
  padding-top: 18px;
}

.history-detail-modal-button {
  width: 100%;
  margin-top: 18px;
}

.native-screen.history-modal-open {
  overflow: hidden;
}
.native-screen.smais-no-rubberband,
.native-screen.smais-no-rubberband {
  overscroll-behavior: none;
  overscroll-behavior-y: none;
}
.notice-modal.is-open .notice-modal-.native-screen,
.admin-notice-detail-modal.is-open .admin-notice-detail-.native-screen,
.attraction-operation-modal.is-open .attraction-modal-.native-screen,
.attraction-rank-list-modal.is-open .attraction-modal-.native-screen {
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
}

.notice-modal.is-open .notice-modal-panel,
.admin-notice-detail-modal.is-open .admin-notice-detail-panel,
.attraction-operation-modal.is-open .attraction-modal-panel,
.attraction-rank-list-modal.is-open .attraction-rank-list-panel {
  min-height: 0;
}
.cast-list-shell {
  width: min(1080px, calc(100vw - 28px));
}

.cast-list-page .cast-list-shell {
  position: relative;
  z-index: 1;
}

.cast-list-panel {
  overflow: hidden;
}

.cast-list-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
  padding: 12px 14px;
}

.cast-list-summary span {
  font-size: 0.74rem;
  font-weight: 950;
}

.cast-list-summary strong {
  font-size: 1.05rem;
}

.cast-list-tools {
  display: grid;
  grid-template-columns: auto minmax(240px, 1fr);
  gap: 12px;
  align-items: stretch;
  margin-bottom: 16px;
}

.cast-list-filter-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
  padding: 0;
  overflow: hidden;
}

.cast-list-filter-button {
  width: 100%;
  min-height: 54px;
  margin: 0;
  padding: 9px 10px;
  border-right: 1px solid rgba(255, 255, 255, 0.10);
  box-sizing: border-box;
  font-size: 0.78rem;
  font-weight: 950;
  transform: none;
  appearance: none;
  -webkit-appearance: none;
}

.cast-list-filter-button:hover {
  transform: none;
  opacity: 1;
}

.cast-list-filter-button:last-child {
  border-right: 0;
}

.cast-list-search-label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 8px 12px;
}

.cast-list-search-label span {
  font-size: 0.70rem;
  font-weight: 950;
}

.cast-list-search {
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  font-size: 0.92rem;
  outline: none;
}

.cast-list-grid {
  display: grid;
  gap: 12px;
}

.cast-list-card {
  position: relative;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) minmax(106px, auto);
  gap: 15px;
  align-items: center;
  min-height: 102px;
  padding: 14px;
  overflow: hidden;
}

.cast-list-card[hidden] {
  display: none;
}

.cast-list-card > * {
  position: relative;
  z-index: 1;
}

.cast-list-icon {
  width: 66px;
  height: 66px;
  object-fit: cover;
}

.cast-list-.native-screen {
  min-width: 0;
}

.cast-list-name-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.cast-list-inline-badges {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-width: 0;
}

.cast-list-name-line strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: clamp(1rem, 4vw, 1.16rem);
}

.cast-list-rank,
.cast-list-edition {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-weight: 950;
}

.cast-list-rank {
  width: fit-content;
  max-width: 100%;
  padding: 6px 10px;
  font-size: 0.76rem;
}

.cast-list-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.cast-list-gamer {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.92rem;
}

.cast-list-edition {
  min-width: 52px;
  padding: 5px 9px;
  font-size: 0.72rem;
}

.cast-list-side {
  display: grid;
  justify-items: end;
  align-content: center;
  gap: 5px;
  min-width: 106px;
  text-align: right;
}

.cast-list-joined-label {
  margin-top: 2px;
  font-size: 0.66rem;
  font-weight: 950;
}

.cast-list-joined {
  font-size: 0.80rem;
  font-weight: 800;
  white-space: nowrap;
}

.cast-list-empty {
  padding: 22px;
  text-align: center;
}

.cast-list-no-results {
  margin-top: 12px;
}

@media (max-width: 720px) {
  .cast-list-tools {
    grid-template-columns: 1fr;
  }

  .cast-list-filter-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 0;
  }

  .cast-list-filter-button {
    width: 100%;
    min-height: 50px;
    margin: 0;
  }
}

@media (max-width: 560px) {
  .cast-list-card {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
    align-items: center;
  }

  .cast-list-icon {
    width: 54px;
    height: 54px;
  }

  .cast-list-.native-screen {
    min-width: 0;
  }

  .cast-list-name-line {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
  }

  .cast-list-name-line strong {
    font-size: 0.98rem;
  }

  .cast-list-inline-badges {
    gap: 5px;
  }

  .cast-list-edition {
    min-width: 42px;
    padding: 4px 7px;
    font-size: 0.66rem;
  }

  .cast-list-rank {
    padding: 4px 7px;
    font-size: 0.66rem;
  }

  .cast-list-gamer {
    max-width: 100%;
    font-size: 0.84rem;
  }

  .cast-list-side {
    grid-column: 2;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    min-width: 0;
    text-align: left;
  }

  .cast-list-joined-label {
    margin-top: 0;
    font-size: 0.62rem;
  }

  .cast-list-joined {
    font-size: 0.73rem;
  }

  .cast-list-search-label {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

.cast-icon-editor {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.cast-icon-preview {
  width: 82px;
  height: 82px;
  object-fit: cover;
}

@media (max-width: 640px) {
  .cast-icon-editor {
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 12px;
  }

  .cast-icon-preview {
    width: 68px;
    height: 68px;
  }
}
.passkey-login-panel,
.passkey-profile-panel{
  margin-top:18px;
}
.passkey-login-panel{
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.18);
}
.passkey-action-button{
  width:100%;
  min-height:48px;
  font-weight:900;
}
.passkey-action-button:disabled{
  opacity:.55;
}
.passkey-note{
  margin:10px 0 0;
  font-size:13px;
  line-height:1.65;
}
.passkey-status{
  min-height:1.4em;
  margin:10px 0 0;
  font-size:13px;
  line-height:1.55;
}
.passkey-profile-panel .passkey-action-button{
  width:auto;
  min-width:220px;
  padding:0 24px;
}
@media (max-width:640px){
  .passkey-profile-panel .passkey-action-button{
    width:100%;
  }
}
.passkey-auto-pending .login-form,
.passkey-auto-pending #firstLoginNote {
  display: none;
}
.passkey-auto-pending .passkey-login-panel {
  padding-top: 0;
  border-top: 0;
}
.passkey-auto-pending .passkey-login-panel .passkey-action-button,
.passkey-auto-pending .passkey-note {
  display: none;
}
.passkey-auto-pending .passkey-status {
  min-height: 2.4em;
  margin-top: 18px;
  text-align: center;
  font-weight: 800;
}
.passkey-login-panel[hidden] {
  display: none;
}
.profile-edit-passkey-panel {
  margin-top: 24px;
}
.passkey-first-modal[hidden] {
  display: none;
}
.passkey-first-modal {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  padding: calc(20px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));
}
.passkey-first-modal-backdrop {
  position: absolute;
  inset: 0;
  -webkit-backdrop-filter: blur(10px);
}
.passkey-first-modal-panel {
  position: relative;
  width: min(520px, 100%);
  max-height: calc(100vh - 42px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow: auto;
}
.passkey-first-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 24px 12px;
}
.passkey-first-modal-head p {
  margin: 0 0 5px;
  font-size: .72rem;
  font-weight: 900;
}
.passkey-first-modal-head h2 {
  margin: 0;
  font-size: clamp(1.28rem, 4.8vw, 1.85rem);
  line-height: 1.25;
}
.passkey-first-modal-close {
  flex: 0 0 auto;
  padding: 8px 14px;
  font-weight: 800;
}
.passkey-first-modal-.native-screen {
  padding: 0 24px 24px;
}
.passkey-first-modal-.native-screen p {
  line-height: 1.75;
}
.passkey-first-modal-.native-screen .passkey-action-button {
  margin-top: 14px;
}
.passkey-first-skip-button {
  width: 100%;
  min-height: 46px;
  margin-top: 10px;
  font-weight: 900;
}
@media (max-width: 640px) {
  .passkey-first-modal {
    padding-left: 14px;
    padding-right: 14px;
  }
  .passkey-first-modal-head,
  .passkey-first-modal-.native-screen {
    padding-left: 18px;
    padding-right: 18px;
  }
}
.native-screen.dashboard-page .passkey-first-modal {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(18px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  box-sizing: border-box;
  z-index: 10020;
}
.native-screen.dashboard-page .passkey-first-modal[hidden] {
  display: none;
}
.native-screen.dashboard-page .passkey-first-modal-backdrop {
  position: fixed;
  inset: 0;
  -webkit-backdrop-filter: blur(10px);
}
.native-screen.dashboard-page .passkey-first-modal-panel {
  position: relative;
  width: min(760px, calc(100vw - 32px));
  max-height: calc(100dvh - max(36px, env(safe-area-inset-top)) - max(36px, env(safe-area-inset-bottom)));
  margin: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: translateY(10px) scale(0.985);
}
.native-screen.dashboard-page .passkey-first-modal.is-open .passkey-first-modal-panel {
  transform: translateY(0) scale(1);
}
.native-screen.dashboard-page .passkey-first-modal-head {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 28px 18px;
  border-bottom: 1px solid rgba(218, 184, 95, 0.16);
}
.native-screen.dashboard-page .passkey-first-modal-head > div {
  min-width: 0;
}
.native-screen.dashboard-page .passkey-first-modal-head p {
  margin: 0 0 6px;
  font-size: .72rem;
  font-weight: 900;
}
.native-screen.dashboard-page .passkey-first-modal-head h2 {
  margin: 0;
  font-size: clamp(1.28rem, 4.8vw, 1.85rem);
  line-height: 1.25;
}
.native-screen.dashboard-page .passkey-first-modal-close,
.native-screen.dashboard-page .passkey-first-modal-close:hover {
  flex: 0 0 auto;
  width: auto;
  min-width: 84px;
  max-width: none;
  height: auto;
  margin: 0;
  padding: 10px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  word-break: keep-all;
  overflow-wrap: normal;
  line-height: 1.2;
  font-weight: 900;
  transform: none;
}
.native-screen.dashboard-page .passkey-first-modal-.native-screen {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 24px 28px 32px;
}
.native-screen.dashboard-page .passkey-first-modal-.native-screen p {
  margin-top: 0;
  line-height: 1.75;
}
.native-screen.dashboard-page .passkey-first-modal-.native-screen .passkey-action-button {
  width: 100%;
  margin-top: 14px;
}
.native-screen.dashboard-page .passkey-first-skip-button {
  width: 100%;
  min-height: 46px;
  margin-top: 10px;
  font-weight: 900;
  white-space: nowrap;
}
@media (max-width: 640px) {
  .native-screen.dashboard-page .passkey-first-modal {
    padding: max(14px, env(safe-area-inset-top)) 12px max(14px, env(safe-area-inset-bottom));
  }
  .native-screen.dashboard-page .passkey-first-modal-panel {
    width: calc(100vw - 24px);
    max-height: calc(100dvh - max(28px, env(safe-area-inset-top)) - max(28px, env(safe-area-inset-bottom)));
  }
  .native-screen.dashboard-page .passkey-first-modal-head {
    gap: 12px;
    padding: 20px 18px 16px;
  }
  .native-screen.dashboard-page .passkey-first-modal-.native-screen {
    padding: 20px 18px 24px;
  }
  .native-screen.dashboard-page .passkey-first-modal-close,
  .native-screen.dashboard-page .passkey-first-modal-close:hover {
    min-width: 72px;
    padding: 9px 14px;
  }
}
.native-screen.points-guide-page .guide-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(16px, 2.8vw, 30px);
}

.rank-guide-v3 {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(18px, 2.8vw, 28px);
}

.rank-tabs-shell,
.rank-tab-panel,
.rank-axis-card,
.rank-alert-card,
.rank-score-card,
.rank-path-card {
  position: relative;
  overflow: hidden;
  -webkit-backdrop-filter: blur(16px);
}

.rank-tabs-shell > *,
.rank-tab-panel > *,
.rank-axis-card > *,
.rank-alert-card > *,
.rank-score-card > *,
.rank-path-card > * {
  position: relative;
  z-index: 1;
}

.rank-control-hero {
  position: relative;
  display: block;
  padding: clamp(8px, 1.8vw, 18px) clamp(4px, 1vw, 8px) clamp(18px, 2.6vw, 28px);
  overflow: visible;
  -webkit-backdrop-filter: none;
}

.rank-kicker {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 13px;
  padding: 7px 11px;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.2;
}

.rank-hero-copy h2,
.rank-panel-head h2 {
  margin: 0;
  line-height: 1.36;
}

.rank-hero-copy h2 {
  max-width: 760px;
  font-size: clamp(1.52rem, 3.8vw, 2.55rem);
}

.rank-hero-copy p:not(.rank-kicker),
.rank-panel-head p:not(.rank-kicker),
.rank-axis-card p,
.rank-alert-card p,
.rank-score-card p,
.rank-path-card p {
  margin: 12px 0 0;
  line-height: 1.86;
}

.rank-tabs-shell {
  display: grid;
  gap: clamp(16px, 2.5vw, 24px);
  padding: clamp(13px, 2.2vw, 20px);
}

.rank-tab-buttons {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  padding: 10px;
}

.rank-tab-button {
  position: relative;
  min-width: 0;
  min-height: 78px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "num title"
    "num meta";
  gap: 1px 10px;
  align-items: center;
  padding: 15px 58px 15px 14px;
  appearance: none;
  text-align: left;
}

.rank-tab-button:hover,
.rank-tab-button:focus-visible {
  transform: translateY(-2px);
  outline: none;
}

.rank-tab-button:active {
  transform: translateY(1px);
}

.rank-tab-button span {
  grid-area: num;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  font-size: 0.72rem;
  font-weight: 1000;
}

.rank-tab-button strong {
  grid-area: title;
  overflow: hidden;
  font-size: 0.94rem;
  font-weight: 950;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rank-tab-button em {
  grid-area: meta;
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 800;
}

.rank-tab-panel {
  display: grid;
  gap: clamp(16px, 2.4vw, 24px);
  min-height: 410px;
  scroll-margin-top: clamp(72px, 12vh, 120px);
  padding: clamp(24px, 4vw, 42px);
}

.rank-tab-panel[hidden] {
  display: none;
}

.rank-panel-head {
  max-width: 920px;
}

.rank-panel-head h2 {
  font-size: clamp(1.34rem, 2.6vw, 2.05rem);
}

.rank-axis-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.rank-axis-card {
  min-height: 188px;
  padding: 22px;
}

.rank-axis-card span {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  margin-bottom: 16px;
  padding: 6px 10px;
  font-size: 0.68rem;
  font-weight: 1000;
}

.rank-axis-card h3 {
  margin: 0;
  font-size: 1.08rem;
}

.rank-alert-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 15px;
  align-items: center;
  padding: 18px 20px;
}

.rank-alert-card strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 13px;
  font-size: 0.7rem;
  font-weight: 1000;
  white-space: nowrap;
}

.rank-alert-card p {
  margin: 0;
}

.rank-score-track {
  display: grid;
  gap: 12px;
}

.rank-score-track-time {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rank-score-track-build {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.rank-score-card {
  min-height: 210px;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 21px 18px;
}

.rank-score-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  font-size: 1.14rem;
  font-weight: 1000;
}

.rank-score-card strong {
  display: block;
  font-size: 0.99rem;
  line-height: 1.55;
}

.rank-path-board {
  display: grid;
  gap: 10px;
}

.rank-path-card {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 8px 17px;
  align-items: center;
  min-height: 82px;
  padding: 16px 18px;
}

.rank-path-card span {
  grid-row: span 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  font-weight: 1000;
}

.rank-path-card strong {
  line-height: 1.54;
}

.rank-path-card p {
  margin: 0;
  font-size: 0.9rem;
}

.rank-we-matrix {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.rank-we-matrix span {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 56px;
  min-width: 0;
  padding: 12px 13px;
  font-size: 0.86rem;
  font-weight: 850;
  line-height: 1.45;
}


@media (max-width: 1160px) {
  .rank-tab-buttons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .rank-score-track-time,
  .rank-score-track-build {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rank-we-matrix {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .rank-control-hero,
  .rank-axis-grid {
    grid-template-columns: 1fr;
  }

  .rank-tab-buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rank-tab-panel {
    min-height: 0;
  }
}

@media (max-width: 620px) {
  .native-screen.points-guide-page .guide-panel {
    padding: 12px;
  }

  .rank-control-hero {
    padding: 8px 4px 20px;
  }

  .rank-hero-copy h2 {
    font-size: 1.42rem;
  }

  .rank-tabs-shell {
    padding: 10px;
  }

  .rank-tab-buttons,
  .rank-score-track-time,
  .rank-score-track-build,
  .rank-axis-grid,
  .rank-we-matrix,
  .rank-alert-card {
    grid-template-columns: 1fr;
  }

  .rank-tab-button {
    min-height: 70px;
    padding-right: 62px;
  }

  .rank-tab-panel {
    padding: 20px 16px;
  }

  .rank-score-card {
    min-height: auto;
  }

  .rank-path-card {
    grid-template-columns: 1fr;
  }

  .rank-path-card span {
    grid-row: auto;
    justify-self: start;
    min-width: 68px;
  }

  .rank-we-matrix span {
    min-height: 50px;
  }
}
.dashboard-mobile-tabbar,
.dashboard-card-group-head {
  display: none;
}

.dashboard-card-group {
  display: contents;
}

@media (max-width: 768px) {

  .dashboard-hub-section {
    padding: 18px 14px 20px;
  }

  .dashboard-hub-section .dashboard-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
  }

  .dashboard-hub-section .dashboard-section-head h1 {
    font-size: clamp(18px, 5.2vw, 24px);
  }

  .dashboard-hub-section .dashboard-section-head p {
    margin-top: 4px;
    font-size: 12px;
  }

  .dashboard-mobile-tabbar {
    position: sticky;
    top: max(10px, env(safe-area-inset-top));
    z-index: 22;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 16px -2px 0;
    padding: 7px;
    -webkit-backdrop-filter: blur(18px);
  }

  .dashboard-mobile-tabbar button {
    min-width: 0;
    min-height: 40px;
    padding: 0 8px;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
  }

  .dashboard-grid.dashboard-mobile-hub {
    display: block;
    margin-top: 14px;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card-group[hidden] {
    display: none;
  }

  .dashboard-card-group-head {
    grid-column: 1 / -1;
    display: block;
    padding: 3px 4px 4px;
  }

  .dashboard-card-group-head span {
    display: block;
    font-size: 10px;
    font-weight: 900;
  }

  .dashboard-card-group-head strong {
    display: block;
    margin-top: 2px;
    font-size: 19px;
  }

  .dashboard-card-group-head small {
    display: block;
    margin-top: 2px;
    font-size: 11px;
    line-height: 1.5;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card,
  .dashboard-grid.dashboard-mobile-hub .dashboard-card-button.dashboard-card-with-icon {
    min-height: 104px;
    padding: 13px 9px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    touch-action: manipulation;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card:hover {
    transform: none;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card:active {
    transform: scale(0.975);
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card-title {
    max-width: 100%;
    font-size: 13.5px;
    line-height: 1.34;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card-sub {
    display: none;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card-icon {
    position: relative;
    right: auto;
    top: auto;
    z-index: 2;
    width: 48px;
    height: 48px;
    margin: 0 auto 8px;
    transform: none;
    opacity: 1;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card:hover .dashboard-card-icon {
    transform: none;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card-button {
    width: auto;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card-group.is-empty {
    display: none;
  }
}

@media (max-width: 374px) {
  .dashboard-mobile-tabbar {
    gap: 5px;
    padding: 6px;
  }

  .dashboard-mobile-tabbar button {
    min-height: 37px;
    padding: 0 5px;
    font-size: 12px;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card,
  .dashboard-grid.dashboard-mobile-hub .dashboard-card-button.dashboard-card-with-icon {
    min-height: 96px;
    padding: 11px 7px 10px;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 7px;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card-title {
    font-size: 12.5px;
  }
}
@media (max-width: 768px) {
  .native-screen.dashboard-page {
    padding-bottom: calc(98px + env(safe-area-inset-bottom, 0px));
  }

  .dashboard-content {
    gap: 22px;
    padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px));
  }

  .dashboard-hub-section {
    position: relative;
    padding: 18px 13px 18px;
    overflow: visible;
  }

  .dashboard-hub-section .dashboard-section-head {
    display: block;
    padding: 0 3px 2px;
  }

  .dashboard-hub-section .dashboard-section-head h1 {
    font-size: clamp(18px, 5vw, 23px);
  }

  .dashboard-hub-section .dashboard-section-head p {
    margin-top: 4px;
    font-size: 11.5px;
  }

  .dashboard-mobile-tabbar {
    position: fixed;
    top: auto;
    left: max(12px, env(safe-area-inset-left));
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    z-index: 9400;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
    margin: 0;
    padding: 7px;
    -webkit-backdrop-filter: blur(22px) saturate(1.18);
  }

  .dashboard-mobile-tabbar button,
  .dashboard-mobile-tabbar button:hover {
    position: relative;
    min-height: 58px;
    margin: 0;
    padding: 23px 4px 6px;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    transform: none;
  }

  .dashboard-grid.dashboard-mobile-hub {
    margin-top: 12px;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    align-items: stretch;
  }

  .dashboard-card-group-head {
    padding: 8px 4px 4px;
  }

  .dashboard-card-group-head span {
    font-size: 9.5px;
  }

  .dashboard-card-group-head strong {
    margin-top: 2px;
    font-size: 18px;
  }

  .dashboard-card-group-head small {
    max-width: 22em;
    font-size: 10.5px;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card,
  .dashboard-grid.dashboard-mobile-hub .dashboard-card-button.dashboard-card-with-icon {
    min-height: 92px;
    padding: 12px 8px 10px;
    isolation: isolate;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card:active {
    transform: scale(0.975);
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 7px;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card-title {
    font-size: 12.4px;
    line-height: 1.32;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card.is-mobile-primary,
  .dashboard-grid.dashboard-mobile-hub .dashboard-card-button.dashboard-card-with-icon.is-mobile-primary {
    grid-column: 1 / -1;
    min-height: 116px;
    align-items: flex-start;
    justify-content: center;
    text-align: left;
    padding: 18px 104px 18px 18px;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card.is-mobile-primary .dashboard-card-icon,
  .dashboard-grid.dashboard-mobile-hub .dashboard-card-button.dashboard-card-with-icon.is-mobile-primary .dashboard-card-icon {
    position: absolute;
    right: 18px;
    top: 50%;
    width: 72px;
    height: 72px;
    margin: 0;
    transform: translateY(-50%);
    opacity: 0.98;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card.is-mobile-primary .dashboard-card-title,
  .dashboard-grid.dashboard-mobile-hub .dashboard-card-button.dashboard-card-with-icon.is-mobile-primary .dashboard-card-title {
    max-width: 12em;
    font-size: 17px;
    line-height: 1.32;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card.is-mobile-primary .dashboard-card-sub,
  .dashboard-grid.dashboard-mobile-hub .dashboard-card-button.dashboard-card-with-icon.is-mobile-primary .dashboard-card-sub {
    display: -webkit-box;
    max-width: 15.5em;
    margin-top: 6px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 11.2px;
    line-height: 1.45;
  }

  .dashboard-footer {
    padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px));
    justify-content: center;
  }

  .dashboard-logout {
    -webkit-backdrop-filter: blur(14px);
  }
}

@media (max-width: 374px) {
  .dashboard-mobile-tabbar {
    left: 9px;
    right: 9px;
    gap: 4px;
    padding: 6px;
  }

  .dashboard-mobile-tabbar button,
  .dashboard-mobile-tabbar button:hover {
    min-height: 54px;
    padding-top: 22px;
    font-size: 10px;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card.is-mobile-primary,
  .dashboard-grid.dashboard-mobile-hub .dashboard-card-button.dashboard-card-with-icon.is-mobile-primary {
    min-height: 108px;
    padding: 16px 88px 16px 15px;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card.is-mobile-primary .dashboard-card-icon,
  .dashboard-grid.dashboard-mobile-hub .dashboard-card-button.dashboard-card-with-icon.is-mobile-primary .dashboard-card-icon {
    right: 14px;
    width: 62px;
    height: 62px;
  }

  .dashboard-grid.dashboard-mobile-hub .dashboard-card.is-mobile-primary .dashboard-card-title,
  .dashboard-grid.dashboard-mobile-hub .dashboard-card-button.dashboard-card-with-icon.is-mobile-primary .dashboard-card-title {
    font-size: 15.5px;
  }
}
@media (max-width: 768px) {

  .dashboard-mobile-tabbar {
    overflow: hidden;
  }

  .dashboard-mobile-tabbar button:active {
    transform: scale(0.965);
  }

  .dashboard-mobile-tabbar[data-dashboard-visible-tabs="3"] {
    left: 50%;
    right: auto;
    width: min(326px, calc(100vw - 32px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
    transform: translateX(-50%);
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dashboard-mobile-tabbar[data-dashboard-visible-tabs="2"] {
    left: 50%;
    right: auto;
    width: min(232px, calc(100vw - 32px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
    transform: translateX(-50%);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-mobile-tabbar[data-dashboard-visible-tabs="1"] {
    left: 50%;
    right: auto;
    width: min(126px, calc(100vw - 32px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
    transform: translateX(-50%);
    grid-template-columns: 1fr;
  }
}

@media (max-width: 374px) {
  .dashboard-mobile-tabbar[data-dashboard-visible-tabs="3"] {
    width: min(306px, calc(100vw - 22px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
  }
}
@media (max-width: 768px) {
  .dashboard-content {
    padding-bottom: 24px;
  }

  .dashboard-footer {
    padding: 0 20px calc(82px + env(safe-area-inset-bottom, 0px));
    justify-content: center;
  }

  .dashboard-logout {
    padding: 9px 15px;
    font-size: 12.5px;
  }
}

@media (max-width: 374px) {
  .dashboard-footer {
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
  }
}
@media (max-width: 768px) {
  .native-screen.dashboard-page {
    padding-bottom: 0;
  }

  .dashboard-content {
    gap: 16px;
    padding-top: 18px;
    padding-bottom: 10px;
  }

  .dashboard-hub-section {
    padding-top: 10px;
  }

  .dashboard-grid.dashboard-mobile-hub {
    margin-top: 0;
  }

  .dashboard-card-group-head {
    padding-top: 0;
  }

  .dashboard-footer {
    margin-top: -2px;
    padding: 0 20px calc(78px + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 374px) {
  .dashboard-footer {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
}
@media (max-width: 768px) {
  .dashboard-footer {
    justify-content: flex-end;
    padding: 10px 22px calc(98px + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 374px) {
  .dashboard-footer {
    padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
  }
}
@media (max-width: 640px) {
  .native-screen.dashboard-page .dashboard-notice-bell {
    position: fixed;
    top: calc(12px + env(safe-area-inset-top, 0px));
    left: 14px;
    z-index: 9400;
  }

  .native-screen.dashboard-page .dashboard-guide-menu {
    position: fixed;
    top: calc(12px + env(safe-area-inset-top, 0px));
    right: 14px;
    z-index: 9500;
  }

  .native-screen.dashboard-page .dashboard-guide-dropdown {
    top: 58px;
    right: 0;
    z-index: 9600;
  }
}
@media (min-width: 769px) {
  .native-screen.cast-subpage .attraction-operation-modal,
  .native-screen.cast-subpage .attraction-rank-list-modal {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(28px, 4vw, 56px);
  }

  .native-screen.cast-subpage .attraction-modal-panel,
  .native-screen.cast-subpage .attraction-rank-list-panel {
    width: min(900px, calc(100vw - 84px));
    max-height: min(78vh, 740px);
  }

  .native-screen.cast-subpage .attraction-modal-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 22px;
    padding: 26px 30px 20px;
  }

  .native-screen.cast-subpage .attraction-modal-head > div {
    min-width: 0;
  }

  .native-screen.cast-subpage .attraction-modal-head h2 {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .native-screen.cast-subpage .attraction-modal-close {
    width: auto;
    min-width: 78px;
    max-width: none;
    justify-self: end;
    white-space: nowrap;
    flex: 0 0 auto;
  }

  .native-screen.cast-subpage .attraction-modal-.native-screen {
    padding: 24px clamp(28px, 3vw, 36px) 32px;
  }

  .native-screen.cast-subpage .attraction-command-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
  }

  .native-screen.cast-subpage .attraction-command-form,
  .native-screen.cast-subpage .attraction-command-disabled {
    min-width: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
  }

  .native-screen.cast-subpage .attraction-command-button {
    width: 100%;
    min-width: 0;
    min-height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.42;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: keep-all;
    padding: 13px 18px;
    box-sizing: border-box;
  }

  .native-screen.cast-subpage .attraction-command-disabled small,
  .native-screen.cast-subpage .attraction-lock-badge {
    display: block;
    margin-top: 7px;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }
}

@media (min-width: 1180px) {
  .native-screen.cast-subpage .attraction-modal-panel,
  .native-screen.cast-subpage .attraction-rank-list-panel {
    width: min(980px, calc(100vw - 120px));
  }

  .native-screen.cast-subpage .attraction-command-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.material-page-shell {
  width: min(760px, calc(100vw - 22px));
  padding-bottom: calc(26px + env(safe-area-inset-bottom));
}

.material-page-header {
  position: sticky;
  top: calc(10px + env(safe-area-inset-top));
  z-index: 8;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  -webkit-backdrop-filter: blur(20px);
}

.material-header-main {
  display: flex;
  gap: 12px;
  min-width: 0;
}

.material-page-header .cast-page-title-icon {
  width: 52px;
  height: 52px;
  object-fit: contain;
  flex: 0 0 auto;
}

.material-page-header h1 {
  margin-bottom: 5px;
  font-size: clamp(1.55rem, 8vw, 2.25rem);
}

.material-page-header p:not(.cast-page-kicker) {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.65;
}

.material-page-header .cast-back-link {
  flex: 0 0 auto;
  min-width: 54px;
  padding: 9px 12px;
  text-align: center;
  font-size: 0.82rem;
}

.material-upload-dock {
  margin: 16px 0;
}

.material-upload-details {
  overflow: hidden;
}

.material-upload-details summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px;
  font-weight: 800;
}

.material-upload-details summary::-webkit-details-marker {
  display: none;
}

.material-upload-details summary small {
  font-weight: 500;
  line-height: 1.55;
  text-align: right;
}

.material-upload-form {
  display: grid;
  gap: 14px;
  padding: 0 16px 18px;
}

.material-mobile-field {
  display: grid;
  gap: 7px;
}

.material-mobile-field label {
  font-weight: 700;
  font-size: 0.9rem;
}

.material-mobile-field input,
.material-mobile-field select,
.material-mobile-field textarea,
.material-search-inline input {
  width: 100%;
  padding: 13px 14px;
  outline: none;
  font-size: 16px;
}

.material-field-note {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.55;
}

.material-upload-mode {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 5px;
}

.material-upload-mode label {
  display: grid;
  place-items: center;
  min-height: 42px;
  font-weight: 800;
}

.material-upload-mode input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.material-preview-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.material-local-preview {
  position: relative;
  overflow: hidden;
  min-height: 76px;
  display: grid;
  place-items: center;
}

.material-local-preview img {
  width: 100%;
  height: 90px;
  object-fit: cover;
  display: block;
}

.material-local-preview strong {
  font-size: 0.78rem;
}

.material-local-preview span {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 18px 6px 6px;
  font-size: 0.66rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.material-submit-button {
  width: 100%;
  min-height: 48px;
}

.material-browser-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin: 18px 0 12px;
}

.material-browser-head h2 {
  margin: 0;
  font-size: 1.35rem;
}

.material-count {
  margin: 0;
  font-size: 0.8rem;
  text-align: right;
}

.material-search-inline {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin-bottom: 12px;
}

.material-search-inline button {
  padding: 0 16px;
  font-weight: 900;
}

.material-view-tabs {
  position: sticky;
  top: calc(104px + env(safe-area-inset-top));
  z-index: 7;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 5px;
  margin-bottom: 10px;
  -webkit-backdrop-filter: blur(18px);
}

.material-view-tab {
  min-height: 42px;
  display: grid;
  place-items: center;
  text-decoration: none;
  font-weight: 900;
}

.material-chip-scroller {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin: 0 -11px 16px;
  padding: 0 11px 2px;
}

.material-chip-scroller::-webkit-scrollbar {
  display: none;
}

.material-chip {
  flex: 0 0 auto;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 13px;
  text-decoration: none;
  font-weight: 750;
  font-size: 0.86rem;
  white-space: nowrap;
}

.material-album-list {
  display: grid;
  gap: 16px;
}

.material-album-card,
.material-empty-card {
  overflow: hidden;
}

.material-empty-card {
  padding: 24px;
}

.material-empty-card h2 {
  margin: 0 0 8px;
}

.material-empty-card p {
  margin: 0;
  line-height: 1.7;
}

.material-album-preview {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  grid-template-rows: repeat(3, 86px);
  gap: 3px;
}

.material-album-thumb {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
}

.material-album-thumb.is-main {
  grid-row: span 3;
}

.material-album-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.material-album-thumb strong {
  display: block;
  font-size: 0.95rem;
}

.material-album-thumb span:not(.material-more-overlay) {
  margin-top: 5px;
  font-size: 0.68rem;
}

.material-more-overlay {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 1.35rem;
  font-weight: 900;
}

.material-album-.native-screen {
  display: grid;
  gap: 10px;
  padding: 16px;
}

.material-album-topline {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.material-target-pill,
.material-item-count {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  font-size: 0.75rem;
  font-weight: 800;
}

.material-target-pill {
  max-width: 72%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.material-album-.native-screen h2 {
  margin: 0;
  font-size: 1.18rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.material-album-description {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.7;
}

.material-album-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  font-size: 0.76rem;
}

.material-file-details {
  overflow: hidden;
}

.material-file-details summary {
  list-style: none;
  padding: 12px 13px;
  font-weight: 850;
  font-size: 0.86rem;
}

.material-file-details summary::-webkit-details-marker {
  display: none;
}

.material-file-list {
  display: grid;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.material-file-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  padding: 10px 12px;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055);
}

.material-file-row:last-child {
  border-bottom: 0;
}

.material-file-type {
  min-width: 46px;
  padding: 4px 7px;
  font-size: 0.68rem;
  font-weight: 900;
  text-align: center;
}

.material-file-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.84rem;
}

.material-file-size {
  font-size: 0.72rem;
}

.material-album-actions {
  display: flex;
  justify-content: flex-end;
}

.material-delete-form {
  margin: 0;
}

.material-delete-button {
  padding: 10px 14px;
  font-weight: 800;
}

.material-share-page .error,
.material-share-page .success {
  padding: 12px 14px;
  margin: 14px 0;
}

@media (min-width: 760px) {
  .material-page-shell {
    width: min(980px, calc(100vw - 48px));
  }

  .material-album-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .material-album-preview {
    grid-template-rows: repeat(3, 74px);
  }
}

@media (max-width: 560px) {
  .material-page-shell {
    width: min(100%, calc(100vw - 16px));
  }

  .material-page-header .cast-page-title-icon {
    width: 44px;
    height: 44px;
  }

  .material-page-header p:not(.cast-page-kicker) {
    display: none;
  }

  .material-upload-details summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .material-upload-details summary small {
    text-align: left;
  }

  .material-preview-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .material-browser-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .material-count {
    text-align: left;
  }

  .material-album-preview {
    grid-template-rows: repeat(3, 76px);
  }

  .material-file-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .material-file-size {
    display: none;
  }
}
.material-field-label {
  font-weight: 700;
  font-size: 0.9rem;
}

.material-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.material-file-picker {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 13px;
  align-items: center;
  min-height: 78px;
  padding: 15px;
}

.material-file-picker-icon {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  font-size: 1.6rem;
  font-weight: 900;
}

.material-file-picker strong {
  font-size: 0.98rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.material-file-picker small {
  font-weight: 600;
}

.material-local-preview video,
.material-album-thumb video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.material-local-preview em,
.material-video-badge {
  position: absolute;
  top: 7px;
  right: 7px;
  z-index: 2;
  padding: 4px 7px;
  font-style: normal;
  font-size: 0.66rem;
  font-weight: 850;
  -webkit-backdrop-filter: blur(10px);
}

.material-album-open-hit {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  text-align: inherit;
}

.material-open-button {
  width: 100%;
  min-height: 44px;
  font-weight: 900;
}

.material-open-button:active,
.material-file-picker:active,
.material-album-open-hit:active {
  transform: scale(0.992);
}

.material-dialog-lock {
  overflow: hidden;
}

.material-album-dialog {
  width: min(720px, calc(100vw - 18px));
  max-width: none;
  max-height: min(86vh, 860px);
  padding: 0;
  overflow: visible;
}

.material-album-dialog::backdrop {
  -webkit-backdrop-filter: blur(14px);
}

.material-dialog-panel {
  max-height: min(86vh, 860px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.material-dialog-header {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  -webkit-backdrop-filter: blur(18px);
}

.material-dialog-header p,
.material-dialog-header span,
.material-dialog-footer p {
  margin: 0;
  font-size: 0.78rem;
  line-height: 1.55;
}

.material-dialog-header h2 {
  margin: 4px 0;
  font-size: 1.22rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.material-dialog-close {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  font-size: 1.45rem;
  line-height: 1;
}

.material-dialog-description {
  margin: 0;
  padding: 14px 18px 0;
  font-size: 0.88rem;
  line-height: 1.7;
}

.material-modal-grid {
  display: grid;
  gap: 12px;
  padding: 18px;
}

.material-modal-asset-card {
  overflow: hidden;
}

.material-modal-preview {
  min-height: 190px;
  display: grid;
  place-items: center;
}

.material-modal-preview img,
.material-modal-preview video {
  width: 100%;
  max-height: 58vh;
  object-fit: contain;
  display: block;
}

.material-modal-preview-file {
  min-height: 150px;
}

.material-modal-preview-file strong {
  font-size: 1rem;
}

.material-modal-preview-file span {
  margin-top: 6px;
  font-size: 0.75rem;
}

.material-modal-asset-.native-screen {
  display: grid;
  gap: 8px;
  padding: 13px;
}

.material-modal-asset-.native-screen h3 {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.material-modal-asset-.native-screen p,
.material-modal-empty {
  margin: 0;
  font-size: 0.76rem;
  line-height: 1.55;
}

.material-download-button {
  display: grid;
  place-items: center;
  min-height: 42px;
  margin-top: 3px;
  text-decoration: none;
  font-weight: 950;
}

.material-dialog-footer {
  display: grid;
  gap: 10px;
  padding: 0 18px 18px;
}

.material-dialog-footer .material-delete-form {
  justify-self: end;
}

@media (min-width: 700px) {
  .material-modal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .material-album-dialog {
    width: 100vw;
    max-height: 92vh;
    margin: auto 0 0;
  }

  .material-dialog-panel {
    max-height: 92vh;
  }

  .material-modal-grid {
    padding: 12px;
  }

  .material-dialog-header {
    padding: 15px;
  }

  .material-modal-preview {
    min-height: 164px;
  }
}
.material-dialog-dynamic {
  min-height: 180px;
}

.material-modal-loading {
  min-height: 190px;
  display: grid;
  place-items: center;
  gap: 10px;
  padding: 22px;
  text-align: center;
}

.material-modal-loading span {
  width: 32px;
  height: 32px;
  border-top-color: rgba(212, 175, 55, 0.95);
}

.material-modal-loading p {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 800;
}

.material-album-thumb-count strong,
.material-album-thumb-video strong {
  font-size: 1rem;
}
.native-screen.material-share-page .material-page-header {
  position: relative;
  top: auto;
  z-index: auto;
}

.native-screen.dashboard-page a.dashboard-card[href="material_share.php"],
.native-screen.dashboard-page a.dashboard-card[href="./material_share.php"],
.native-screen.dashboard-page a.dashboard-card[href$="/material_share.php"] {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
}

.material-album-preview {
  gap: 1px;
}

.material-album-thumb img,
.material-album-thumb-video img,
.material-gallery-media img,
.material-gallery-viewer-button img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.material-album-thumb img,
.material-album-thumb-video img {
  transform: scale(1.06);
  transform-origin: center;
}

.material-gallery-viewer-button img {
  transform: scale(1.07);
  transform-origin: center;
}

.material-photo-viewer-close {
  position: fixed;
  left: max(12px, env(safe-area-inset-left));
  top: max(12px, env(safe-area-inset-top));
  right: auto;
  bottom: auto;
  transform: none;
  margin: 0;
  z-index: 2147483647;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
}
.native-screen.material-share-page .material-view-tabs {
  top: calc(env(safe-area-inset-top, 0px) + 20px);
}
.native-screen.material-share-page .material-photo-viewer-close {
  left: calc(env(safe-area-inset-left, 0px) + 20px);
  top: calc(env(safe-area-inset-top, 0px) + 20px);
  right: auto;
  bottom: auto;
  transform: none;
  margin: 0;
}
.native-screen.material-share-page .material-photo-viewer-top {
  left: calc(env(safe-area-inset-left, 0px) + 64px);
  top: calc(env(safe-area-inset-top, 0px) + 24px);
}
.native-screen.material-share-page .material-album-preview .material-album-thumb,
.native-screen.material-share-page .material-gallery-grid .material-gallery-media,
.native-screen.material-share-page .material-gallery-grid .material-gallery-viewer-button {
  overflow: hidden;
}
.native-screen.material-share-page .material-album-preview .material-album-thumb img,
.native-screen.material-share-page .material-album-preview .material-album-thumb-video img,
.native-screen.material-share-page .material-gallery-grid .material-gallery-media > img,
.native-screen.material-share-page .material-gallery-grid .material-gallery-viewer-button img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.20);
  transform-origin: center center;
}
.native-screen.material-share-page .material-view-tabs {
  top: calc(env(safe-area-inset-top, 0px) + 20px);
}
.native-screen.material-share-page .material-photo-viewer-close {
  left: calc(env(safe-area-inset-left, 0px) + 20px);
  top: calc(env(safe-area-inset-top, 0px) + 20px);
}
.native-screen.material-share-page .material-album-preview .material-album-thumb,
.native-screen.material-share-page .material-gallery-grid .material-gallery-media,
.native-screen.material-share-page .material-gallery-grid .material-gallery-viewer-button {
  overflow: hidden;
  isolation: isolate;
}
.native-screen.material-share-page .material-album-preview .material-album-thumb img,
.native-screen.material-share-page .material-album-preview .material-album-thumb-video img,
.native-screen.material-share-page .material-gallery-grid .material-gallery-media > img,
.native-screen.material-share-page .material-gallery-grid .material-gallery-viewer-button img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  min-width: calc(100% + 4px);
  min-height: calc(100% + 4px);
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center center;
  transform: translate(-50%, -50%) scale(1.24);
  transform-origin: center center;
}
.native-screen.material-share-page .material-album-browser {
  padding: 8px 0 18px;
}
.native-screen.material-share-page .material-view-tabs {
  top: calc(env(safe-area-inset-top, 0px) + 20px);
}
.native-screen.material-share-page .material-album-preview {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: minmax(152px, 34vw);
  gap: 2px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
@media (min-width: 760px) {
  .native-screen.material-share-page .material-album-preview {
    grid-template-rows: 190px;
  }
}
.native-screen.material-share-page .material-album-preview .material-album-thumb {
  grid-row: auto;
  min-width: 0;
  min-height: 0;
}
.native-screen.material-share-page .material-album-preview .material-album-thumb.is-main,
.native-screen.material-share-page .material-album-preview .material-album-thumb.is-side {
  grid-row: auto;
}
.native-screen.material-share-page .material-album-preview .material-album-thumb img,
.native-screen.material-share-page .material-album-preview .material-album-thumb-video img,
.native-screen.material-share-page .material-gallery-grid .material-gallery-media > img,
.native-screen.material-share-page .material-gallery-grid .material-gallery-viewer-button img {
  position: absolute;
  inset: auto;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  max-width: none;
  max-height: none;
  object-fit: cover;
  object-position: center center;
  transform: translate(-50%, -50%) scale(1.32);
  transform-origin: center center;
}
.native-screen.material-share-page .material-album-more-count {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 4;
  min-width: 42px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  font-weight: 900;
  font-size: 13px;
  -webkit-backdrop-filter: blur(10px);
}
.native-screen.material-share-page .material-album-browser.is-loading {
  opacity: .68;
  pointer-events: none;
}
.native-screen.material-share-page .material-photo-viewer-dialog:focus,
.native-screen.material-share-page .material-photo-viewer-dialog:focus-visible,
.native-screen.material-share-page .material-photo-viewer-close:focus,
.native-screen.material-share-page .material-photo-viewer-close:focus-visible,
.native-screen.material-share-page .material-gallery-viewer-button:focus,
.native-screen.material-share-page .material-gallery-viewer-button:focus-visible {
  outline: none;
}
.native-screen.material-share-page .material-album-preview .material-album-thumb,
.native-screen.material-share-page .material-album-preview .material-album-thumb-image,
.native-screen.material-share-page .material-album-preview .material-album-thumb-video,
.native-screen.material-share-page .material-gallery-grid .material-gallery-media,
.native-screen.material-share-page .material-gallery-grid .material-gallery-viewer-button,
.native-screen.material-share-page .material-gallery-grid .material-video-lazy-button,
.native-screen.material-share-page .material-modal-preview,
.native-screen.material-share-page .material-local-preview-item,
.native-screen.material-share-page .material-photo-viewer-video-poster{
  overflow:hidden;
}
.native-screen.material-share-page .material-album-preview .material-album-thumb img,
.native-screen.material-share-page .material-album-preview .material-album-thumb-video img,
.native-screen.material-share-page .material-gallery-grid .material-gallery-media > img,
.native-screen.material-share-page .material-gallery-grid .material-gallery-viewer-button img,
.native-screen.material-share-page .material-gallery-grid .material-video-lazy-button img{
  object-fit:cover;
  object-position:center center;
  transform:translate(-50%, -50%) scale(1.42);
}
.material-album-browser.is-loading{opacity:.68;pointer-events:none}
.material-album-preview{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:2px;overflow:hidden}
.material-album-preview .material-album-thumb{min-width:0;min-height:0}
.material-album-preview .material-album-thumb.is-main{grid-column:auto;grid-row:auto}
.material-album-preview .material-album-thumb.is-side{display:block}
.material-album-preview .material-album-thumb img{width:100%;height:100%;object-fit:cover}
.material-album-more-count{position:absolute;right:8px;bottom:8px;min-width:38px;height:30px;padding:0 10px;display:grid;place-items:center;font-size:12px}
.material-photo-viewer:focus,.material-photo-viewer *:focus,.material-gallery-viewer-button:focus,.material-album-open-hit:focus,.material-open-button:focus{outline:none}
.native-screen.material-share-page .material-dialog-close {
  position: relative;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  padding: 0;
  margin: 0;
  line-height: 0;
  font-size: 0;
  text-indent: -9999px;
  overflow: hidden;
}
.material-video-fallback {
  gap: 12px;
  padding: 20px;
  text-align: center;
}
.material-video-fallback a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 14px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}
.native-screen.material-share-page .material-page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  margin: 0 0 10px;
  min-height: 0;
}

.native-screen.material-share-page .material-header-main {
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.native-screen.material-share-page .material-page-header .cast-page-title-icon {
  width: 34px;
  height: 34px;
  min-width: 34px;
  flex-basis: 34px;
}

.native-screen.material-share-page .material-page-header .cast-page-kicker {
  margin: 0 0 1px;
  font-size: 0.58rem;
  line-height: 1.05;
}

.native-screen.material-share-page .material-page-header h1 {
  margin: 0;
  font-size: clamp(1.18rem, 4.8vw, 1.46rem);
  line-height: 1.05;
}

.native-screen.material-share-page .material-page-header p:not(.cast-page-kicker) {
  display: none;
}

.native-screen.material-share-page .material-page-header .cast-back-link {
  min-width: 48px;
  height: 32px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 520px) {
  .native-screen.material-share-page .material-page-header {
    padding: 7px 9px;
    margin-bottom: 8px;
  }

  .native-screen.material-share-page .material-page-header .cast-page-title-icon {
    width: 30px;
    height: 30px;
    min-width: 30px;
    flex-basis: 30px;
  }

  .native-screen.material-share-page .material-page-header h1 {
    font-size: 1.14rem;
  }

  .native-screen.material-share-page .material-page-header .cast-back-link {
    height: 30px;
    min-width: 44px;
    padding: 0 9px;
  }
}

.cast-list-card:hover,
.cast-list-card:focus-visible {
  transform: translateY(-2px);
  outline: none;
}

.native-screen.cast-member-modal-opened,
.native-screen.cast-member-modal-opened {
  overflow: hidden;
  overscroll-behavior: none;
}

.cast-member-modal[hidden] {
  display: none;
}

.cast-member-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.cast-member-modal-backdrop {
  position: absolute;
  inset: 0;
}

.cast-member-modal-box {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  max-height: min(86vh, 760px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 28px;
}

.cast-member-modal-box:focus {
  outline: none;
}

.cast-member-modal-close {
  position: absolute;
  right: 18px;
  top: 18px;
  width: auto;
  min-width: 74px;
  margin: 0;
  padding: 9px 14px;
  font-size: 0.76rem;
  font-weight: 900;
}

.cast-member-modal-head {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding-right: 80px;
}

.cast-member-modal-icon {
  width: 92px;
  height: 92px;
  object-fit: cover;
}

.cast-member-modal-kicker {
  margin: 0 0 6px;
  font-size: 0.70rem;
  font-weight: 950;
}

.cast-member-modal-head h2 {
  margin: 0;
  font-size: clamp(1.36rem, 4vw, 2rem);
  line-height: 1.25;
  word-break: break-word;
}

.cast-member-modal-gamer {
  margin: 7px 0 0;
  font-weight: 800;
  word-break: break-word;
}

.cast-member-modal-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 22px;
}

.cast-member-modal-facts div {
  padding: 13px 12px;
}

.cast-member-modal-facts span,
.cast-member-modal-pr span {
  display: block;
  font-size: 0.68rem;
  font-weight: 950;
}

.cast-member-modal-facts strong {
  display: block;
  margin-top: 7px;
  font-size: 0.92rem;
  line-height: 1.45;
  word-break: break-word;
}

.cast-member-modal-pr {
  margin-top: 12px;
  padding: 16px;
}

.cast-member-modal-pr p {
  margin: 10px 0 0;
  line-height: 1.78;
  white-space: pre-wrap;
  word-break: break-word;
}

.profile-icon-upload-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: stretch;
}

.profile-icon-preview-card {
  grid-template-columns: 82px minmax(0, 1fr);
}

.profile-icon-upload-button {
  margin-top: 2px;
}

.profile-edit-page textarea#self_pr,
#setupForm textarea#self_pr {
  min-height: 132px;
  resize: vertical;
}

@media (max-width: 560px) {
  .cast-member-modal {
    align-items: flex-end;
    padding: 12px;
  }

  .cast-member-modal-box {
    max-height: 88vh;
    padding: 24px 18px 20px;
  }

  .cast-member-modal-head {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 13px;
    padding-right: 0;
    padding-top: 40px;
  }

  .cast-member-modal-icon {
    width: 72px;
    height: 72px;
  }

  .cast-member-modal-facts {
    grid-template-columns: 1fr;
  }
}
.profile-rank-main .profile-rank-value-row.smais-rank-row-fixed {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  column-gap: 10px;
  width: 100%;
}
.profile-rank-main .profile-rank-value-row.smais-rank-row-fixed > [data-profile-current-rank] {
  display: block;
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-height: 1.04;
  font-size: clamp(2.15rem, 6.2vw, 4.65rem);
}
.profile-rank-main .profile-rank-value-row.smais-rank-row-fixed > .profile-rank-detail-button {
  justify-self: end;
  align-self: start;
  margin-top: 0.35em;
}
@media (max-width: 640px) {
  .profile-rank-main .profile-rank-value-row.smais-rank-row-fixed > [data-profile-current-rank] {
    font-size: clamp(2rem, 9.2vw, 3.3rem);
  }
  .profile-rank-main .profile-rank-value-row.smais-rank-row-fixed > [data-profile-current-rank].is-owner-rank {
    font-size: clamp(1.75rem, 7.2vw, 2.55rem);
    line-height: 1.05;
  }
}
.native-screen.points-guide-page .guide-panel {
  overflow: visible;
  padding: clamp(14px, 2.4vw, 24px);
}

.rank-guide-clean {
  display: grid;
  gap: clamp(14px, 2.2vw, 22px);
}

.rank-chip-sticky {
  position: sticky;
  top: calc(env(safe-area-inset-top, 0px) + 8px);
  z-index: 30;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  margin: 0 auto clamp(10px, 1.8vw, 16px);
  padding: 0;
  overflow: visible;
}

.rank-chip-nav {
  width: max-content;
  max-width: 100%;
  min-height: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  margin: 0 auto;
  padding: 4px 7px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
}

.rank-chip-nav::-webkit-scrollbar {
  display: none;
}

.rank-chip-btn {
  flex: 0 0 auto;
  height: 38px;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  appearance: none;
  font-size: 0.84rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.rank-chip-btn:hover,
.rank-chip-btn:focus-visible {
  transform: translateY(-1px);
  outline: none;
}

.rank-content-panel {
  display: grid;
  gap: clamp(13px, 2vw, 18px);
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
}

.rank-content-panel[hidden] {
  display: none;
}

.rank-section-head {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0 2px clamp(4px, 0.8vw, 8px);
}

.rank-section-head p {
  width: fit-content;
  margin: 0;
  padding: 5px 10px;
  font-size: 0.68rem;
  font-weight: 950;
  line-height: 1.1;
}

.rank-section-head h2 {
  margin: 0;
  font-size: clamp(1.22rem, 2.45vw, 1.92rem);
  line-height: 1.42;
}

.rank-section-head span {
  display: block;
  max-width: 980px;
  font-size: 0.96rem;
  line-height: 1.78;
}

.rank-info-list {
  display: grid;
  gap: 10px;
}

.rank-info-list-after {
  margin-top: 2px;
}

.rank-info-row {
  display: grid;
  grid-template-columns: minmax(86px, 0.24fr) minmax(0, 1fr);
  gap: 10px 18px;
  align-items: center;
  min-height: 66px;
  padding: 14px 16px;
  box-sizing: border-box;
}

.rank-info-row strong {
  display: block;
  min-width: 0;
  font-size: 0.98rem;
  font-weight: 950;
  line-height: 1.42;
}

.rank-info-row p {
  margin: 0;
  font-size: 0.93rem;
  line-height: 1.72;
}

.rank-we-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.rank-we-list span {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 11px 13px;
  font-size: 0.9rem;
  font-weight: 850;
  line-height: 1.45;
  box-sizing: border-box;
}

@media (max-width: 760px) {
  .native-screen.points-guide-page .guide-panel {
    padding: 12px;
  }

  .rank-guide-clean {
    gap: 14px;
  }

  .rank-chip-sticky {
    justify-content: center;
    margin-bottom: 12px;
  }

  .rank-chip-nav {
    width: 100%;
    margin: 0 auto;
    padding: 4px 6px;
    gap: 7px;
  }

  .rank-chip-btn {
    height: 36px;
    padding: 0 13px;
    font-size: 0.82rem;
  }

  .rank-info-row {
    grid-template-columns: 1fr;
    gap: 5px;
    min-height: 0;
    padding: 13px 14px;
  }

  .rank-section-head span {
    font-size: 0.92rem;
  }

  .rank-we-list {
    grid-template-columns: 1fr;
  }
}
.native-screen.points-guide-page .guide-panel {
  overflow: visible;
  padding: 10px 14px 18px;
}
.points-guide-v2,
.points-guide-v2 * {
  box-sizing: border-box;
}
.points-guide-v2 {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
}
.points-guide-sticky {
  position: sticky;
  top: calc(env(safe-area-inset-top, 0px) + 4px);
  z-index: 40;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  margin: 0 0 10px;
  padding: 0;
  overflow: visible;
  line-height: 0;
}
.points-guide-scroll {
  width: auto;
  max-width: min(100%, calc(100vw - 30px));
  min-width: 0;
  min-height: 0;
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 0 auto;
  padding: 2px 5px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  line-height: 1;
}
.points-guide-scroll::-webkit-scrollbar {
  display: none;
}
.points-guide-chip {
  flex: 0 0 auto;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  max-width: 46px;
  height: 31px;
  min-height: 31px;
  min-width: 46px;
  margin: 0;
  padding: 0 4px;
  font: 900 0.78rem/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  white-space: nowrap;
  text-align: center;
  transform: none;
}
.points-guide-chip:hover,
.points-guide-chip:focus-visible {
  outline: none;
  transform: none;
}
.points-guide-panel {
  display: grid;
  gap: 14px;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
}
.points-guide-panel[hidden] {
  display: none;
}
.points-guide-head {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0 2px 2px;
}
.points-guide-head p {
  width: fit-content;
  margin: 0;
  padding: 5px 10px;
  font-size: 0.68rem;
  font-weight: 950;
  line-height: 1.1;
}
.points-guide-head h2 {
  margin: 0;
  font-size: clamp(1.20rem, 2.35vw, 1.84rem);
  line-height: 1.42;
}
.points-guide-head span {
  display: block;
  max-width: 980px;
  font-size: 0.95rem;
  line-height: 1.75;
}
.points-guide-list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
}
.points-guide-list-after {
  margin-top: 2px;
}
.points-guide-row {
  display: grid;
  grid-template-columns: minmax(82px, 0.22fr) minmax(0, 1fr);
  gap: 9px 16px;
  align-items: center;
  min-height: 58px;
  margin: 0;
  padding: 12px 14px;
}
.points-guide-row strong {
  display: block;
  min-width: 0;
  font-size: 0.96rem;
  font-weight: 950;
  line-height: 1.38;
}
.points-guide-row p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.68;
}
.points-guide-we-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
  padding: 0;
}
.points-guide-we-list span {
  display: flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  font-size: 0.88rem;
  font-weight: 850;
  line-height: 1.42;
}
@media (max-width: 760px) {
  .native-screen.points-guide-page .guide-panel {
    padding: 8px 10px 16px;
  }
  .points-guide-v2 {
    gap: 12px;
  }
  .points-guide-sticky {
    top: calc(env(safe-area-inset-top, 0px) + 3px);
    margin-bottom: 9px;
  }
  .points-guide-scroll {
    max-width: min(100%, calc(100vw - 20px));
    justify-content: flex-start;
    gap: 5px;
    padding: 2px 4px;
  }
  .points-guide-chip {
    width: 44px;
    max-width: 44px;
    min-width: 44px;
    height: 30px;
    min-height: 30px;
    padding: 0 3px;
    font-size: 0.76rem;
  }
  .points-guide-panel {
    gap: 12px;
  }
  .points-guide-row {
    grid-template-columns: 1fr;
    gap: 4px;
    min-height: 0;
    padding: 11px 12px;
  }
  .points-guide-head span {
    font-size: 0.91rem;
  }
  .points-guide-we-list {
    grid-template-columns: 1fr;
  }
}
.server-info-page .guide-panel {
  overflow: hidden;
  padding: clamp(16px, 3vw, 28px);
}

.server-info-hero-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(340px, 1.14fr);
  gap: clamp(20px, 4vw, 38px);
  align-items: center;
  padding: clamp(22px, 4.4vw, 44px);
}

.server-info-hero-copy,
.server-info-minecraft-card,
.server-info-shader-card > div,
.server-info-shader-link,
.server-info-friend-card > div,
.server-info-friend-icon {
  position: relative;
  z-index: 1;
}

.server-info-eyebrow,
.server-info-card-kicker {
  margin: 0 0 10px;
  font-size: 0.78rem;
  font-weight: 950;
}

.server-info-hero-copy h2,
.server-info-shader-card h2,
.server-info-edition-card h2,
.server-info-friend-card h2 {
  margin: 0;
}

.server-info-hero-copy h2 {
  font-size: clamp(1.55rem, 4.2vw, 2.55rem);
  line-height: 1.28;
}

.server-info-hero-copy p:not(.server-info-eyebrow),
.server-info-shader-card p,
.server-info-edition-card p,
.server-info-friend-card p {
  line-height: 1.85;
}

.server-info-minecraft-card {
  display: grid;
  gap: 15px;
  padding: clamp(16px, 3vw, 24px);
}

.server-info-minecraft-window-head {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px;
  align-items: center;
  font-size: 0.95rem;
  font-weight: 950;
  text-align: center;
}

.server-info-minecraft-window-head span {
  height: 2px;
}

.server-info-field {
  display: grid;
  gap: 8px;
}

.server-info-field > span {
  font-size: 0.82rem;
  font-weight: 900;
}

.server-info-minecraft-input-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: stretch;
}

.server-info-minecraft-input {
  width: 100%;
  min-height: 58px;
  box-sizing: border-box;
  outline: 2px solid rgba(255, 255, 255, 0.18);
  font-size: clamp(0.84rem, 2.7vw, 1.01rem);
  font-weight: 850;
  padding: 0 16px;
  user-select: text;
}

.server-info-static-input {
  display: flex;
  align-items: center;
}

.server-info-copy-button,
.server-info-shader-link {
  font-weight: 950;
  text-decoration: none;
}

.server-info-copy-button {
  min-width: 92px;
  padding: 0 18px;
}

.server-info-copy-button:hover,
.server-info-copy-button:focus-visible,
.server-info-shader-link:hover,
.server-info-shader-link:focus-visible {
  transform: translateY(-1px);
}

.server-info-edition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.server-info-edition-card {
  padding: clamp(20px, 3vw, 26px);
}

.server-info-edition-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.server-info-edition-head .server-info-card-kicker {
  margin-bottom: 0;
  font-size: 0.70rem;
}

.server-info-main-value {
  margin: 14px 0 10px;
  font-size: clamp(1.42rem, 4vw, 2.12rem);
  font-weight: 950;
  line-height: 1.2;
}

.server-info-friend-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  margin-top: 18px;
  padding: clamp(20px, 3.4vw, 28px);
}

.server-info-friend-icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  font-weight: 1000;
}

.server-info-friend-card strong {
  font-weight: 950;
}

.server-info-shader-card {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-top: 18px;
  padding: clamp(20px, 3.2vw, 26px);
}

.server-info-shader-link {
  flex: 0 0 auto;
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  text-align: center;
}

@media (max-width: 780px) {
  .server-info-hero-card,
  .server-info-edition-grid,
  .server-info-shader-card {
    grid-template-columns: 1fr;
  }

  .server-info-shader-card {
    display: grid;
  }

  .server-info-shader-link {
    width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 560px) {
  .server-info-page .guide-panel {
    padding: 12px;
  }

  .server-info-hero-card {
    padding: 18px;
  }

  .server-info-minecraft-card {
    padding: 14px;
  }

  .server-info-minecraft-window-head {
    font-size: 0.82rem;
  }

  .server-info-minecraft-input-wrap {
    grid-template-columns: 1fr;
  }

  .server-info-copy-button {
    min-height: 48px;
  }

  .server-info-edition-head {
    display: block;
  }

  .server-info-edition-head h2 {
    margin-top: 6px;
  }

  .server-info-friend-card {
    grid-template-columns: 1fr;
  }

  .server-info-friend-icon {
    width: 50px;
    height: 50px;
  }
}

.attraction-command-button.attraction-resort-liner-red-button:disabled,
.attraction-command-button.attraction-resort-liner-blue-button:disabled,
.attraction-command-button.attraction-resort-liner-green-button:disabled,
.attraction-command-button.attraction-resort-liner-yellow-button:disabled {
  opacity: 0.55;
}
@media (max-width: 768px) {
  .native-screen.dashboard-page > .dashboard-mobile-tabbar.is-dashboard-floating-tabbar {
    position: fixed;
    top: auto;
    bottom: max(12px, env(safe-area-inset-bottom, 0px));
    z-index: 2147483000;
    contain: layout style paint;
  }
}
@media (max-width: 768px) {
  .native-screen.dashboard-page > .dashboard-mobile-tabbar.is-dashboard-floating-tabbar {
    z-index: 9400;
  }
}

.native-screen.dashboard-page #loadingScreen.loading-screen,
.loading-screen {
  z-index: 2147483200;
}

.native-screen.dashboard-page #pageMickeyTransition.page-mickey-transition,
.page-mickey-transition,
.subpage-mickey-transition {
  z-index: 2147483100;
}
.native-screen.dashboard-page.rules-modal-opened .dashboard-mobile-tabbar {
  display: none;
}
.cast-weekly-ranking-panel {
  overflow: hidden;
  padding: 0;
}
.cast-weekly-ranking-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  padding: 22px 24px;
  text-align: left;
}
.cast-weekly-ranking-toggle:hover,
.cast-weekly-ranking-toggle:focus-visible {
  outline: none;
}
.cast-weekly-ranking-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.cast-weekly-ranking-kicker,
.cast-list-area-label > span {
  display: block;
  font-size: .68rem;
  font-weight: 800;
}
.cast-weekly-ranking-title {
  display: block;
  margin: 5px 0 4px;
  font-size: clamp(1.05rem, 2.1vw, 1.35rem);
  font-weight: 800;
  line-height: 1.35;
}
.cast-weekly-ranking-period {
  display: block;
  font-size: .83rem;
}
.cast-weekly-ranking-toggle-side {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}
.cast-weekly-ranking-toggle-side > strong {
  min-width: 58px;
  padding: 9px 12px;
  text-align: center;
}
.cast-weekly-ranking-chevron {
  width: 10px;
  height: 10px;
  border-right: 2px solid #d8b967;
  border-bottom: 2px solid #d8b967;
  transform: rotate(45deg) translate(-2px, -2px);
}
.cast-weekly-ranking-toggle.is-open .cast-weekly-ranking-chevron {
  transform: rotate(225deg) translate(-2px, -2px);
}
.cast-weekly-ranking-content {
  padding: 0 24px 22px;
}
.cast-weekly-ranking-content[hidden] {
  display: none;
}
.cast-weekly-ranking-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.cast-weekly-ranking-item {
  display: grid;
  grid-template-columns: 34px 42px minmax(0,1fr) auto;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-width: 0;
  padding: 11px 13px;
  text-align: left;
}
.cast-weekly-ranking-item:hover,
.cast-weekly-ranking-item:focus-visible {
  transform: translateY(-2px);
  outline: none;
}
.cast-weekly-ranking-position {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  font-weight: 900;
}
.cast-weekly-ranking-item img { width:42px; height:42px; object-fit:cover; }
.cast-weekly-ranking-person { min-width:0; display:flex; flex-direction:column; }
.cast-weekly-ranking-person strong,
.cast-weekly-ranking-person small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cast-weekly-ranking-person small { font-size:.72rem; }
.cast-weekly-ranking-item b { font-size:.82rem; white-space:nowrap; }
.cast-weekly-ranking-empty { margin:0; }
.cast-list-tools { grid-template-columns: auto minmax(210px, 1fr) minmax(190px, .7fr); }
.cast-list-area-label { display:flex; flex-direction:column; gap:7px; min-width:0; }
.cast-list-area-select {
  width:100%;
  min-height:44px;
  padding:0 40px 0 13px;
  font:inherit;
}
.cast-list-area-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.cast-list-area-tag {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 9px;
  font-size:.68rem;
  font-weight:700;
}
.cast-member-modal-area-fact { grid-column:1 / -1; }
.cast-member-modal-area-fact strong { white-space:normal; line-height:1.5; }
.profile-area-fieldset { min-width:0; margin:0; padding:16px; }
.profile-area-fieldset legend { padding:0 6px; font-weight:700; }
.profile-area-fieldset .form-help { margin:0 0 12px; }
.profile-area-choice-grid { display:flex; flex-wrap:wrap; gap:9px; }
.profile-area-choice { position:relative; }
.profile-area-choice input { position:absolute; opacity:0; pointer-events:none; }
.profile-area-choice span {
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 13px;
  font-size:.82rem;
  font-weight:700;
}
.profile-area-choice input:focus-visible + span { outline:2px solid #e0be6d; outline-offset:2px; }
@media (max-width: 900px) {
  .cast-weekly-ranking-list { grid-template-columns:1fr; }
  .cast-list-tools { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .cast-weekly-ranking-toggle { padding:18px; }
  .cast-weekly-ranking-content { padding:0 18px 18px; }
  .cast-weekly-ranking-toggle-side { gap:9px; }
  .cast-weekly-ranking-toggle-side > strong { min-width:52px; padding:8px 10px; }
  .cast-weekly-ranking-item { grid-template-columns:30px 38px minmax(0,1fr); padding:10px; }
  .cast-weekly-ranking-item img { width:38px; height:38px; }
  .cast-weekly-ranking-item b { grid-column:3; margin-top:-5px; }
  .profile-area-choice-grid { gap:7px; }
  .profile-area-choice span { min-height:34px; padding:6px 10px; font-size:.76rem; }
}
.profile-points-hero {
  display: grid;
  grid-template-columns: minmax(210px, .72fr) minmax(0, 1.28fr);
  gap: 18px;
  align-items: stretch;
}
.profile-points-owner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 210px;
  padding: 24px;
}
.profile-points-owner > span,
.profile-stat-kicker {
  font-size: .68rem;
  font-weight: 900;
}
.profile-points-owner > strong {
  margin-top: 10px;
  font-size: clamp(3rem, 8vw, 5.6rem);
  line-height: .95;
}
.profile-points-owner > strong small {
  font-size: .22em;
}
.profile-points-owner p { margin: 12px 0 0; }
.profile-points-identity {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}
.profile-points-identity > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 16px 18px;
}
.profile-points-identity dt { font-size: .7rem; }
.profile-points-identity dd {
  overflow: hidden;
  margin: 6px 0 0;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.profile-points-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.profile-stat-card { min-width: 0; }
.profile-big-number {
  display: block;
  margin: 14px 0 9px;
  font-size: clamp(1.25rem, 3vw, 2rem);
  line-height: 1.18;
}
.profile-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 15px;
}
.profile-section-head h2 { margin: 5px 0 0; }
.profile-attraction-permission-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.profile-attraction-permission-list .cast-status-chip,
.profile-attraction-permission-list .profile-permission-chip,
.profile-attraction-permission-list .profile-attraction-permission-chip {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  font-size: .76rem;
  font-weight: 750;
}
.profile-point-history-list { display: grid; gap: 9px; }
.profile-point-history-list .cast-mini-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}
.profile-point-rule-summary .cast-primary-button { margin-top: 15px; }
.attraction-access-note {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  padding: 12px 14px;
}
.attraction-access-note strong {
  flex: 0 0 auto;
  font-size: .78rem;
}
.attraction-access-note span { font-size: .78rem; line-height: 1.55; }
@media (max-width: 900px) {
  .profile-points-hero { grid-template-columns: 1fr; }
  .profile-points-stat-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .profile-points-owner { min-height: 165px; padding: 19px; }
  .profile-points-identity { grid-template-columns: 1fr; }
  .profile-points-identity > div { padding: 13px 15px; }
  .profile-point-history-list .cast-mini-card { grid-template-columns: 1fr; }
  .attraction-access-note { align-items: flex-start; flex-direction: column; gap: 5px; }
}

.profile-point-history-item { grid-template-columns: minmax(0, 1fr) auto; }
.profile-point-history-item > div { min-width: 0; display: flex; flex-direction: column; }
.profile-point-history-item > div small { margin-top: 4px; font-size: .7rem; }
.profile-point-history-item .profile-point-history-value { align-items: flex-end; text-align: right; }
.profile-point-history-item > p { grid-column: 1 / -1; margin: 0; font-size: .78rem; }
@media (max-width: 560px) {
  .profile-point-history-item { grid-template-columns: 1fr auto; }
}
.dashboard-points-value-line {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
}

.dashboard-rank-main .dashboard-points-value-line > strong {
  min-width: 0;
}

.dashboard-rank-main .dashboard-training-badge,
.cast-list-training-badge,
.cast-member-training-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  flex: 0 0 auto;
  padding: 6px 11px;
  font-size: 0.74rem;
  font-weight: 950;
  line-height: 1;
}

.dashboard-rank-main .dashboard-training-badge {
  margin-bottom: 0.34em;
}

.cast-list-training-badge {
  padding: 6px 9px;
  font-size: 0.7rem;
}


.cast-weekly-ranking-name-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.cast-weekly-ranking-name-line > strong {
  min-width: 0;
}

.cast-member-modal-name-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
}

.cast-member-modal-name-line h2 {
  min-width: 0;
}

.cast-member-training-badge[hidden] {
  display: none;
}

@media (max-width: 560px) {
  .dashboard-points-value-line {
    align-items: center;
    gap: 9px;
  }

  .dashboard-rank-main .dashboard-training-badge {
    margin-bottom: 0;
  }

  .cast-list-inline-badges {
    flex-wrap: wrap;
  }
}

.progress-build-inline-status {
  margin: 8px 0 0;
  padding: 8px 11px;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.45;
}

.progress-build-summary-card.is-submitted {
  position: relative;
  opacity: 0.58;
}

.progress-build-summary-main {
  margin-bottom: 4px;
  font-weight: 800;
}

.progress-build-summary-sub {
  margin-top: 0;
  font-size: 0.86rem;
}
.progress-form-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
}

.progress-form-fieldset.is-submitted {
  opacity: 0.52;
  pointer-events: none;
}
.teleport-modal-choice-grid .teleport-choice-card,
.teleport-modal-choice-grid .teleport-player-card {
  touch-action: pan-y;
}

@media (hover: none), (pointer: coarse) {
  .teleport-modal-choice-grid .teleport-choice-card:hover:not([aria-pressed="true"]),
  .teleport-modal-choice-grid .teleport-player-card:hover:not([aria-pressed="true"]) {
    transform: none;
  }
}

}
@layer legacy {
*{box-sizing:border-box}.native-screen.sm-admin-page{margin:0;min-height:100svh;overflow-x:hidden}.sm-admin-shell{width:min(1180px,calc(100% - 24px));margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 48px) 0 42px}.sm-admin-hero{text-align:center;margin:0 auto 22px;padding:18px 0 4px}.sm-admin-logo{display:flex;justify-content:center;align-items:center;margin:0 auto 14px}.sm-admin-logo img{width:min(50.4vw,193px);height:auto;object-fit:contain}.sm-admin-logo-text{font-size:2.35rem;font-weight:900;margin-left:.22em}.sm-admin-kicker{margin:0 0 6px;font-size:.75rem;font-weight:900}.sm-admin-hero h1{margin:0;font-size:clamp(1.85rem,6vw,3.45rem);line-height:1.05}.sm-admin-hero p{margin:10px auto 0;max-width:760px;line-height:1.75}.sm-admin-dashboard-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;margin:2px auto 18px;text-decoration:none;font-weight:900}
.sm-admin-panel,.cast-panel,.card{padding:22px}.sm-admin-panel+.sm-admin-panel,.cast-panel+.cast-panel{margin-top:16px}.admin-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.admin-span-4{grid-column:span 4}.admin-span-8{grid-column:span 8}.admin-span-12{grid-column:span 12}.admin-top-actions,.admin-action-row,.admin-search-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.admin-top-actions{justify-content:center;margin:18px 0}.button-link,.cast-back-link,.cast-primary-button,.cast-danger-button,button,.admin-table-action{appearance:none;min-height:46px;padding:12px 16px;text-decoration:none;font-weight:900}.admin-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.admin-card-head h2,.sm-admin-panel h2,.cast-panel h2{margin:0 0 12px;font-size:1.2rem}.admin-status-pill,.profile-stat-kicker{display:inline-flex;align-items:center;padding:6px 10px;font-size:.72rem;font-weight:900}
.admin-search-form label,.cast-form-row label{display:block;margin:0 0 8px;font-weight:900}.admin-search-form select,.admin-search-form input,.cast-form-row input,.cast-form-row select,.cast-form-row textarea,textarea,select,input{width:100%;max-width:100%;min-width:0;padding:13px 14px;font-size:16px;outline:none}input[type="date"],input[type="datetime-local"],input[type="month"]{appearance:none;-webkit-appearance:none;min-height:48px;line-height:1.2;display:block;max-width:100%;overflow:hidden}.cast-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cast-form-row{min-width:0}.cast-form-row small{display:block;margin-top:6px;line-height:1.5}.cast-form-row-wide{grid-column:1/-1}.cast-form-row label:has(input[type="checkbox"]){display:flex;gap:10px;align-items:center}input[type="checkbox"]{width:20px;height:20px;min-height:auto;accent-color:var(--admin-gold)}
.admin-inline-editor{margin-top:18px}.admin-editor-loading{padding:22px;text-align:center}.admin-selected-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.admin-mini-stat{padding:13px}.admin-mini-stat span{display:block;font-size:.72rem}.admin-mini-stat strong{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error,.success{padding:12px 14px;font-weight:800}.admin-empty-guide{text-align:center}
.table-wrap,.admin-log-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:separate;border-spacing:0;min-width:980px}th,td{padding:13px 14px;border-bottom:1px solid rgba(214,173,85,.13);text-align:left;vertical-align:middle}th{font-size:.78rem;white-space:nowrap}.admin-log-table th,.admin-log-table td,.admin-log-row td,.admin-nowrap{white-space:nowrap}.admin-log-table td{font-size:.86rem}.admin-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.admin-detail-list>div{padding:12px}.admin-detail-list dt{font-size:.75rem}.admin-detail-list dd{margin:4px 0 0;font-weight:800}.admin-report-.native-screen{margin-top:12px;padding:14px;line-height:1.7}.admin-approval-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.sm-admin-page .cast-page-header{display:block;text-align:center;margin:0 0 20px}.sm-admin-page .cast-page-title-icon{display:none}.sm-admin-page .cast-page-kicker{font-weight:900}.sm-admin-page .cast-page-header h1{font-size:clamp(1.7rem,5vw,3rem);margin:0}.sm-admin-top-return{display:none}.app-brand-mini{display:none}
@media(max-width:780px){.sm-admin-shell{width:min(100% - 16px,1180px);padding-top:calc(env(safe-area-inset-top,0px) + 44px)}.sm-admin-logo img{width:min(50.4vw,193px);height:auto}.sm-admin-logo-text{font-size:1.75rem}.sm-admin-panel,.cast-panel,.card{padding:16px}.admin-grid{display:block}.admin-grid>*{margin-bottom:14px}.cast-form-grid{grid-template-columns:1fr}.admin-search-row,.admin-top-actions,.admin-action-row,.admin-approval-actions{display:grid;grid-template-columns:1fr;width:100%}.button-link,.cast-back-link,.cast-primary-button,.cast-danger-button,button{width:100%;justify-content:center}.admin-selected-summary{grid-template-columns:1fr 1fr}.admin-detail-list{grid-template-columns:1fr}table{min-width:900px}th,td{padding:11px 12px}.sm-admin-hero h1{font-size:2rem}}
@media(max-width:430px){.admin-selected-summary{grid-template-columns:1fr}.sm-admin-logo-text{font-size:1.55rem}.sm-admin-hero p{font-size:.92rem}.cast-form-row input,.cast-form-row select,.admin-search-form select{font-size:16px;padding-left:12px;padding-right:12px}}
.admin-search-row .admin-selector-create{white-space:nowrap;align-self:stretch;display:inline-flex;align-items:center;justify-content:center}
.admin-search-row .admin-selector-create:hover{transform:translateY(-1px)}
.admin-inline-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:16px}.admin-inline-actions>*{flex:0 0 auto}.admin-activity-form-grid{align-items:end}.admin-card-grid + .cast-panel,.admin-card-grid + .cast-wide-panel{margin-top:24px}.admin-card-grid{display:grid;gap:18px}.admin-approval-card{margin-bottom:0}.admin-empty-guide p{display:none}
.admin-reviewed-list{display:grid;gap:10px}.admin-reviewed-item{overflow:hidden}.admin-reviewed-summary{width:100%;display:grid;grid-template-columns:minmax(110px,1fr) minmax(120px,1.1fr) auto;gap:10px;align-items:center;padding:14px 16px;text-align:left}.admin-reviewed-summary::-webkit-details-marker{display:none}.admin-reviewed-name{font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-reviewed-type{font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-reviewed-.native-screen{padding:14px 16px;line-height:1.7}.admin-reviewed-.native-screen p{margin:.35em 0}.admin-reviewed-.native-screen form{margin-top:12px}
.admin-notice-page .sm-admin-shell{max-width:1120px}.admin-notice-card{padding:0}.admin-notice-head{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;margin-bottom:18px}.admin-notice-head h1{font-size:clamp(2rem,6vw,3.2rem);margin:.08em 0}.admin-notice-form{display:grid;gap:16px;padding:22px}.admin-notice-form label{display:grid;gap:8px;font-weight:900}.admin-notice-fieldset{padding:16px;display:grid;gap:12px}.admin-notice-fieldset legend{padding:0 8px;font-weight:900}.radio-line,.checkbox-line{display:flex;grid-template-columns:none;align-items:center;gap:10px}.radio-line input,.checkbox-line input{width:20px;min-height:auto}.admin-notice-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-notice-list-section{margin-top:22px;padding:20px}.admin-notice-list-section h2{margin-top:0}
.admin-log-table-wrap table{min-width:1320px;table-layout:auto}.admin-log-table-wrap th,.admin-log-table-wrap td{white-space:nowrap;overflow:visible;text-overflow:clip}.admin-log-badge{display:inline-flex;align-items:center;padding:6px 10px;font-weight:900}
@media(max-width:780px){.admin-search-row{display:grid;grid-template-columns:1fr}.admin-selector-create{width:100%}.admin-inline-actions{display:grid;grid-template-columns:1fr 1fr}.admin-inline-actions>*{width:100%;min-width:0}.admin-reviewed-summary{grid-template-columns:1fr;gap:4px}.admin-notice-head{grid-template-columns:1fr}.admin-notice-actions{display:grid;grid-template-columns:1fr}.admin-activity-form-grid{grid-template-columns:1fr}}
.admin-log-top-return{margin:0 auto 18px;display:flex;justify-content:center}.sm-admin-page{padding-top:0}.admin-inline-editor [data-admin-editor-fragment]{display:block}
.admin-activity-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:18px 0;
}
.admin-activity-stat{
  position:relative;
  overflow:hidden;
  min-height:128px;
  padding:16px;
}
.admin-activity-stat span{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:5px 9px;
  font-size:.7rem;
  font-weight:950;
}
.admin-activity-stat em{
  display:block;
  margin-top:12px;
  font-style:normal;
  font-size:.78rem;
  font-weight:850;
}
.admin-activity-stat strong{
  display:block;
  margin-top:3px;
  font-size:clamp(1.15rem,3vw,1.55rem);
  line-height:1.18;
  word-break:keep-all;
}
.admin-activity-stat small{
  display:block;
  margin-top:9px;
  font-weight:800;
  line-height:1.35;
}
.admin-notice-row-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:nowrap;
}
.admin-notice-delete-form{
  margin:0;
  display:inline-flex;
}
.button.compact,
button.compact{
  min-height:38px;
  padding:9px 12px;
  font-size:.86rem;
  white-space:nowrap;
}
.admin-notice-table-wrap table{
  min-width:1120px;
}
.admin-notice-table-wrap td[data-label="操作"]{
  white-space:nowrap;
}
.admin-inline-editor .success{
  margin:0 0 14px;
}
@media(max-width:900px){
  .admin-activity-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:520px){
  .admin-activity-stats{grid-template-columns:1fr;}
  .admin-activity-stat{min-height:auto;}
}
.native-screen.admin-leave-page .cast-page-shell {
  width: min(1180px, calc(100vw - 36px));
  margin: 0 auto;
  padding-top: calc(env(safe-area-inset-top, 0px) + 48px);
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 112px);
}

@supports (padding-top: max(0px)) {
  .native-screen.admin-leave-page .cast-page-shell {
    padding-top: max(48px, calc(env(safe-area-inset-top, 0px) + 28px));
    padding-bottom: max(112px, calc(env(safe-area-inset-bottom, 0px) + 88px));
  }
}

@media (max-width: 780px) {
  .native-screen.admin-leave-page .cast-page-shell {
    width: min(100% - 16px, 1180px);
    padding-top: calc(env(safe-area-inset-top, 0px) + 52px);
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 128px);
  }

  @supports (padding-top: max(0px)) {
    .native-screen.admin-leave-page .cast-page-shell {
      padding-top: max(52px, calc(env(safe-area-inset-top, 0px) + 32px));
      padding-bottom: max(128px, calc(env(safe-area-inset-bottom, 0px) + 96px));
    }
  }
}
.native-screen.admin-logs-page .sm-admin-shell,
.native-screen.admin-notice-page .sm-admin-shell {
  padding-top: calc(env(safe-area-inset-top, 0px) + 56px);
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 128px);
}

@supports (padding-top: max(0px)) {
  .native-screen.admin-logs-page .sm-admin-shell,
  .native-screen.admin-notice-page .sm-admin-shell {
    padding-top: max(56px, calc(env(safe-area-inset-top, 0px) + 36px));
    padding-bottom: max(128px, calc(env(safe-area-inset-bottom, 0px) + 96px));
  }
}

@media (max-width: 780px) {
  .native-screen.admin-logs-page .sm-admin-shell,
  .native-screen.admin-notice-page .sm-admin-shell {
    width: min(100% - 16px, 1180px);
    padding-top: calc(env(safe-area-inset-top, 0px) + 60px);
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 144px);
  }

  @supports (padding-top: max(0px)) {
    .native-screen.admin-logs-page .sm-admin-shell,
    .native-screen.admin-notice-page .sm-admin-shell {
      padding-top: max(60px, calc(env(safe-area-inset-top, 0px) + 40px));
      padding-bottom: max(144px, calc(env(safe-area-inset-bottom, 0px) + 104px));
    }
  }
}
.admin-leave-page .cast-inline-form {
  display: grid;
  gap: 12px;
}

.admin-leave-page .cast-button-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  width: 100%;
  margin-top: 2px;
}

.admin-leave-page .cast-button-row .cast-primary-button,
.admin-leave-page .cast-button-row .cast-danger-button {
  flex: 0 0 auto;
  min-width: 112px;
  width: auto;
  margin: 0;
  white-space: nowrap;
}

@media (max-width: 780px) {
  .admin-leave-page .cast-button-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .admin-leave-page .cast-button-row .cast-primary-button,
  .admin-leave-page .cast-button-row .cast-danger-button {
    width: 100%;
    min-width: 0;
  }
}
.native-screen.admin-user-create-page .sm-admin-shell.card {
  margin-top: calc(env(safe-area-inset-top, 0px) + 48px);
  margin-bottom: calc(env(safe-area-inset-bottom, 0px) + 112px);
}

@supports (margin-top: max(0px)) {
  .native-screen.admin-user-create-page .sm-admin-shell.card {
    margin-top: max(48px, calc(env(safe-area-inset-top, 0px) + 28px));
    margin-bottom: max(112px, calc(env(safe-area-inset-bottom, 0px) + 88px));
  }
}

@media (max-width: 780px) {
  .native-screen.admin-user-create-page .sm-admin-shell.card {
    width: min(100% - 16px, 1180px);
    margin-top: calc(env(safe-area-inset-top, 0px) + 52px);
    margin-bottom: calc(env(safe-area-inset-bottom, 0px) + 128px);
  }

  @supports (margin-top: max(0px)) {
    .native-screen.admin-user-create-page .sm-admin-shell.card {
      margin-top: max(52px, calc(env(safe-area-inset-top, 0px) + 32px));
      margin-bottom: max(128px, calc(env(safe-area-inset-bottom, 0px) + 96px));
    }
  }
}
.admin-user-create-page .admin-user-create-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 92px;
  margin: 0 auto 18px;
}

.admin-user-create-page .admin-user-create-logo img {
  display: block;
  width: clamp(170px, 22vw, 240px);
  max-width: min(240px, 72vw);
  height: auto;
  object-fit: contain;
}

@media (max-width: 768px) {
  .admin-user-create-page .admin-user-create-logo {
    min-height: 96px;
  }

  .admin-user-create-page .admin-user-create-logo img {
    width: clamp(138px, 42vw, 180px);
    max-width: min(180px, 72vw);
  }
}
.admin-rules-page .admin-rules-shell{max-width:1120px}.admin-rules-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.admin-rules-note{line-height:1.8;margin:10px 0 0}.admin-rules-form{display:grid;gap:16px}.admin-rules-form label{display:grid;gap:8px;font-weight:900}.admin-rules-form input,.admin-rules-form textarea{width:100%}.admin-rules-actions{display:flex;gap:10px;flex-wrap:wrap}.admin-rules-table-wrap table{min-width:720px}.admin-rules-preview{max-height:440px;overflow:auto;padding:18px;line-height:1.8}.admin-rules-preview code,.admin-rules-note code{padding:2px 6px}.rules-update-summary{padding:14px 16px;margin:14px 0}.rules-update-summary h2{font-size:1rem;margin:0 0 8px}.rules-update-summary p{margin:0;line-height:1.8}@media(max-width:780px){.admin-rules-stats{grid-template-columns:1fr 1fr}.admin-rules-actions{display:grid;grid-template-columns:1fr}.admin-rules-preview{max-height:360px}}
.cast-icon-editor {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.cast-icon-preview {
  width: 82px;
  height: 82px;
  object-fit: cover;
}

@media (max-width: 780px) {
  .cast-icon-editor {
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 12px;
  }

  .cast-icon-preview {
    width: 68px;
    height: 68px;
  }
}
.admin-activity-bulk-page .admin-activity-bulk-form {
  display: grid;
  gap: 18px;
}

.admin-activity-bulk-head p {
  margin: 0;
}

.admin-activity-bulk-condition-grid {
  align-items: end;
}

.admin-activity-bulk-toolbar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.admin-activity-bulk-toolbar .button-link {
  min-height: 40px;
  padding: 10px 14px;
}

.admin-activity-bulk-list {
  display: grid;
  gap: 10px;
  max-height: min(62vh, 680px);
  overflow: auto;
  padding: 6px;
}

.admin-activity-bulk-cast-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
}

.admin-activity-bulk-cast-row:hover {
  transform: translateY(-1px);
}

.admin-activity-bulk-cast-main {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.admin-activity-bulk-cast-main em {
  font-style: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-activity-bulk-cast-meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.admin-activity-bulk-cast-meta span {
  padding: 5px 9px;
  font-size: .72rem;
  font-weight: 800;
}

.admin-activity-bulk-empty {
  padding: 18px;
}

@media (max-width: 780px) {
  .admin-activity-bulk-toolbar {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .admin-activity-bulk-toolbar .button-link {
    width: 100%;
  }

  .admin-activity-bulk-cast-row {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .admin-activity-bulk-cast-meta {
    grid-column: 2;
    justify-content: flex-start;
  }
}

.admin-activity-bulk-page .admin-activity-bulk-condition-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 780px) {
  .admin-activity-bulk-page .admin-activity-bulk-condition-grid {
    grid-template-columns: 1fr;
  }
}
.admin-activity-page .profile-header-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.admin-activity-page .profile-header-actions .cast-back-link,
.admin-activity-page .admin-inline-actions .cast-primary-button,
.admin-activity-page .admin-inline-actions .cast-back-link,
.admin-activity-page .admin-inline-actions .admin-table-action,
.admin-activity-bulk-page .admin-activity-bulk-toolbar .button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  text-align: center;
  line-height: 1.25;
  white-space: nowrap;
}

.admin-activity-page .admin-inline-actions {
  gap: 10px;
}

@media (max-width: 780px) {
  .admin-activity-page .profile-header-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 10px;
  }

  .admin-activity-page .profile-header-actions .cast-back-link,
  .admin-activity-page .admin-inline-actions .cast-primary-button,
  .admin-activity-page .admin-inline-actions .cast-back-link,
  .admin-activity-page .admin-inline-actions .admin-table-action {
    width: 100%;
    white-space: normal;
  }

  .admin-activity-page .admin-inline-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .admin-activity-bulk-page .admin-activity-bulk-toolbar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }
}
.admin-weekly-under-panel { overflow:hidden; }
.admin-weekly-under-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin:-1px; padding:1px; list-style:none; user-select:none; }
.admin-weekly-under-head::-webkit-details-marker { display:none; }
.admin-weekly-under-head::marker { display:none; content:""; }
.admin-weekly-under-head:focus-visible { outline:2px solid rgba(240,199,111,.78); outline-offset:5px; }
.admin-weekly-under-head > div > span { display:block; font-size:.68rem; font-weight:900; }
.admin-weekly-under-head h2 { margin:5px 0 4px; }
.admin-weekly-under-head p { margin:0; font-size:.84rem; }
.admin-weekly-under-summary-actions { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.admin-weekly-under-summary-actions strong { min-width:60px; padding:9px 12px; text-align:center; }
.admin-weekly-under-chevron { width:12px; height:12px; border-right:2px solid #f0c76f; border-bottom:2px solid #f0c76f; transform:rotate(45deg); }
.admin-weekly-under-panel[open] .admin-weekly-under-chevron { transform:rotate(225deg); }
.admin-weekly-under-.native-screen { margin-top:18px; padding-top:18px; border-top:1px solid rgba(218,166,69,.18); }
.admin-weekly-under-list { display:grid; gap:9px; }
.admin-weekly-under-item { display:grid; grid-template-columns:minmax(180px,1.3fr) repeat(3,minmax(90px,.55fr)); align-items:center; gap:12px; padding:13px 15px; text-decoration:none; }
.admin-weekly-under-item:hover,.admin-weekly-under-item:focus-visible { transform:translateY(-1px); outline:none; }
.admin-weekly-under-person { min-width:0; display:flex; flex-direction:column; }
.admin-weekly-under-person strong,.admin-weekly-under-person small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-weekly-under-item > span:not(.admin-weekly-under-person) { display:flex; flex-direction:column; align-items:flex-end; }
.admin-weekly-under-item small { font-size:.7rem; }
.admin-weekly-under-item b { margin-top:3px; font-size:.83rem; }
.admin-weekly-under-empty { margin:0; }
.admin-weekly-under-note { margin:14px 0 0; font-size:.76rem; }
@media(max-width:780px){
  .admin-weekly-under-head { align-items:center; gap:12px; }
  .admin-weekly-under-head p { font-size:.76rem; }
  .admin-weekly-under-summary-actions { gap:8px; }
  .admin-weekly-under-summary-actions strong { min-width:52px; padding:8px 10px; font-size:.82rem; }
  .admin-weekly-under-item { grid-template-columns:minmax(0,1fr) auto; }
  .admin-weekly-under-item > span:not(.admin-weekly-under-person) { grid-column:2; }
  .admin-weekly-under-item > span:nth-child(3),.admin-weekly-under-item > span:nth-child(4) { display:none; }
}
.admin-points-page .admin-points-adjust-form {
  display: grid;
  grid-template-columns: minmax(92px, .38fr) minmax(180px, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-width: 420px;
}
.admin-points-page .admin-points-adjust-form input {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  font: inherit;
}
.admin-points-page .admin-points-adjust-form input:focus {
  outline: 2px solid rgba(220,184,92,.16);
  outline-offset: 1px;
}
.admin-points-page td[data-label="所有ポイント"] strong {
  font-size: 1rem;
  white-space: nowrap;
}
.admin-attraction-permission-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}
.admin-attraction-permission-item {
  position: relative;
  display: block;
  min-width: 0;
}
.admin-attraction-permission-item input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.admin-attraction-permission-item span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 74px;
  padding: 13px 15px;
}
.admin-attraction-permission-item strong {
  overflow: hidden;
  line-height: 1.35;
  text-overflow: ellipsis;
}
.admin-attraction-permission-item small {
  margin-top: 5px;
  font-size: .72rem;
}
.admin-attraction-permission-item input:focus-visible + span {
  outline: 2px solid #e0bd68;
  outline-offset: 2px;
}
.admin-attraction-permission-item:hover span { transform: translateY(-1px); }
@media (max-width: 980px) {
  .admin-attraction-permission-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
  .admin-points-page .admin-points-adjust-form {
    grid-template-columns: 1fr;
    min-width: 230px;
  }
  .admin-points-page .admin-points-adjust-form .cast-primary-button { width: 100%; }
  .admin-attraction-permission-grid { grid-template-columns: 1fr; }
}
.admin-points-bulk-panel {
  display: grid;
  gap: 14px;
}
.admin-points-bulk-note {
  margin: 0;
  line-height: 1.7;
}
.admin-points-bulk-form {
  display: grid;
  grid-template-columns: minmax(130px, .45fr) minmax(240px, 1.4fr) auto;
  gap: 10px;
  align-items: center;
}
.admin-points-bulk-form input {
  width: 100%;
  min-width: 0;
}
.admin-points-selection-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.admin-points-select-column,
.admin-points-select-cell {
  width: 72px;
  text-align: center;
}
.admin-points-target-checkbox {
  width: 22px;
  height: 22px;
  margin: 0;
  accent-color: #d8c27a;
}
@media (max-width: 760px) {
  .admin-points-bulk-form {
    grid-template-columns: 1fr;
  }
  .admin-points-bulk-form .cast-primary-button {
    width: 100%;
  }
  .admin-points-select-column,
  .admin-points-select-cell {
    width: auto;
    text-align: left;
  }
}
.admin-approval-card[id^="build-report-"] {
  scroll-margin-top: 112px;
}

.admin-approval-card[id^="build-report-"]:target,
.admin-build-recent-panel tr[id^="build-report-"]:target {
  outline: 3px solid rgba(197, 150, 40, 0.72);
  outline-offset: 3px;
}


}
@layer legacy {
* { box-sizing: border-box; }
.native-screen {
  min-height: 100%;
}
.native-screen, .native-screen { min-height: 100%; }
.native-screen.webedit-page {
  position: relative;
  min-height: 100dvh;
  margin: 0;
  overflow-x: hidden;
  padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
}

button, input, select { font: inherit; }
button { touch-action: manipulation; }
button:disabled { opacity: .45; pointer-events: none; }

.we-shell {
  position: relative;
  z-index: 1;
  width: min(100%, 760px);
  margin: 0 auto;
  padding: calc(env(safe-area-inset-top, 0px) + 8px) 14px 24px;
}

.we-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  padding: 8px 0 10px;
  -webkit-backdrop-filter: blur(12px);
}

.we-back,
.we-mode-change {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  max-width: 100%;
  text-decoration: none;
  white-space: nowrap;
  font-weight: 950;
}

.we-back {
  flex: 0 0 auto;
  padding: 0 12px 0 4px;
}

.we-mode-change {
  flex: 0 1 auto;
  min-width: 0;
  padding: 0 14px;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.we-hero { padding: 10px 2px 14px; }
.we-kicker, .we-label {
  display: block;
  font-size: 11px;
  font-weight: 950;
}
.we-hero h1 { margin: 5px 0 6px; font-size: clamp(26px, 8vw, 38px); line-height: 1.05; }
.we-hero p { margin: 0; font-size: 13px; line-height: 1.6; }

.we-card { padding: 14px; }
.we-plan-card { display: grid; gap: 10px; }
.we-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.we-card-head strong { display: block; font-size: 18px; line-height: 1.2; overflow-wrap: anywhere; }
.we-plan-badge {
  flex: 0 0 auto;
  padding: 8px 10px;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.we-step-row {
  width: 100%;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 12px;
  text-align: left;
  min-width: 0;
}
.we-step-icon {
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
  font-size: 12px;
}
.we-step-row b { display: block; font-size: 15px; }
.we-step-row small {
  display: block;
  min-width: 0;
  max-width: 100%;
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.we-step-row em { font-style: normal; font-size: 12px; font-weight: 950; white-space: nowrap; }

.we-chip-area { display: flex; flex-wrap: wrap; gap: 7px; min-height: 22px; }
.we-chip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 6px 9px;
  font-size: 11px;
  font-weight: 850;
  overflow: hidden;
  text-overflow: ellipsis;
}

.we-quick-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.we-quick {
  min-width: 0;
  min-height: 46px;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.we-bottom {
  position: fixed;
  z-index: 60;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 12px 14px calc(env(safe-area-inset-bottom, 0px) + 12px);
  -webkit-backdrop-filter: blur(16px);
}
.we-bottom-inner { max-width: 760px; margin: 0 auto; }
.we-primary {
  width: 100%;
  min-height: 56px;
  font-weight: 950;
  font-size: 16px;
}
.we-confirm-send { margin-top: 14px; }

.we-sheet { position: fixed; inset: 0; z-index: 100; display: none; }
.we-sheet.is-open { display: block; }
.we-sheet-backdrop { position: absolute; inset: 0; }
.we-sheet-panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 760px;
  max-height: min(88dvh, 780px);
  margin: 0 auto;
  padding: 16px 14px calc(env(safe-area-inset-bottom, 0px) + 18px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  border-bottom: 0;
}
.we-sheet-panel.compact { max-height: min(82dvh, 680px); }
.we-sheet-panel.block-panel { max-height: 92dvh; }
.we-sheet-head {
  position: sticky;
  top: -16px;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  padding: 2px 0 12px;
  -webkit-backdrop-filter: blur(12px);
}
.we-sheet-head > div { min-width: 0; }
.we-sheet-head strong { display: block; font-size: 18px; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.we-close {
  position: relative;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  font-size: 0;
  line-height: 0;
}

.we-note { margin: 8px 0 12px; font-size: 13px; line-height: 1.55; }
.we-mode-three { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.we-mode-tile,
.we-mode-list button,
.we-choice,
.we-block-item {
  min-width: 0;
}
.we-mode-tile { min-height: 92px; padding: 12px 8px; text-align: center; }
.we-mode-tile b, .we-mode-list b, .we-choice b { display: block; font-size: 14px; overflow-wrap: anywhere; }
.we-mode-tile small, .we-mode-list small, .we-choice small { display: block; font-size: 11px; margin-top: 5px; line-height: 1.35; }
.we-mode-list { display: grid; gap: 8px; }
.we-mode-list button { min-height: 60px; padding: 10px 12px; text-align: left; }

.we-op-groups { display: grid; gap: 10px; }
.we-op-group {
  padding: 12px;
  overflow: hidden;
}
.we-op-group > span,
.we-op-group > summary {
  display: flex;
  align-items: center;
  min-height: 28px;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.2;
  margin: 0 0 10px;
}
.we-op-group > summary {
  list-style: none;
  justify-content: space-between;
}
.we-op-group > summary::-webkit-details-marker { display: none; }
.we-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.we-choice {
  min-height: 72px;
  padding: 12px;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}

.we-input,
.we-select {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 0 12px;
  outline: none;
}
.we-search-input {
  position: sticky;
  top: 50px;
  z-index: 3;
  margin-bottom: 10px;
}

.we-selected-blocks { display: grid; gap: 8px; margin-bottom: 10px; }
.we-pattern-row {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 38px;
  grid-template-areas:
    "thumb main remove"
    "weight weight weight";
  align-items: center;
  gap: 10px;
  padding: 10px;
  min-width: 0;
}
.we-pattern-row .we-block-thumb { grid-area: thumb; }
.we-pattern-row .we-icon-btn { grid-area: remove; justify-self: end; }
.we-pattern-main { grid-area: main; min-width: 0; }
.we-pattern-id { font-size: 14px; font-weight: 950; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.we-pattern-group { margin-top: 3px; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.we-pattern-weight {
  grid-area: weight;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
  padding-top: 2px;
}
.we-weight-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 11px;
  font-weight: 850;
}
.we-percent-box {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 66px;
  height: 34px;
  padding: 0 8px;
}
.we-weight-number {
  width: 38px;
  min-width: 0;
  height: 30px;
  outline: none;
  text-align: right;
  font-size: 13px;
  font-weight: 950;
  padding: 0;
  appearance: textfield;
  -moz-appearance: textfield;
}
.we-weight-number::-webkit-outer-spin-button,
.we-weight-number::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.we-percent-box em { font-style: normal; font-size: 12px; font-weight: 950; }
.we-range {
  width: 100%;
  height: 28px;
  accent-color: #ffd66a;
}
.we-icon-btn {
  position: relative;
  width: 38px;
  height: 38px;
  font-size: 0;
  line-height: 0;
}

.we-block-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.we-block-item {
  width: 100%;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  grid-template-areas:
    "thumb text"
    "group group";
  align-items: center;
  gap: 8px;
  min-height: 94px;
  padding: 10px;
  text-align: left;
}
.we-block-item .we-block-thumb { grid-area: thumb; }
.we-block-item > div { grid-area: text; min-width: 0; }
.we-block-item strong {
  display: block;
  font-size: 13px;
  line-height: 1.25;
  max-height: 2.5em;
  overflow: hidden;
}
.we-block-item span:not(.we-block-thumb span) {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.we-block-item em {
  grid-area: group;
  justify-self: start;
  max-width: 100%;
  padding: 4px 7px;
  font-style: normal;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.we-block-thumb {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
.we-block-icon { width: 34px; height: 34px; object-fit: contain; image-rendering: pixelated; display: block; }
.we-block-thumb > span { display: none; font-size: 17px; font-weight: 950; }
.we-block-thumb.is-fallback > span { display: block; }
.we-more,
.we-inline-action {
  width: 100%;
  min-height: 46px;
  font-weight: 950;
}
.we-more { margin: 10px 0; }
.we-custom-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 84px;
  gap: 8px;
  margin-top: 8px;
}

.we-detail-.native-screen { display: grid; gap: 12px; }
.we-field { display: grid; gap: 7px; min-width: 0; }
.we-field label { display: grid; gap: 7px; min-width: 0; }
.we-field > span,
.we-field label > span { font-size: 12px; font-weight: 850; }
.we-field.two { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.we-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 52px;
  padding: 0 12px;
}
.we-toggle span { min-width: 0; font-size: 13px; font-weight: 850; }
.we-toggle span small { display: block; margin-top: 3px; font-size: 10px; line-height: 1.35; font-weight: 650; opacity: .72; }
.we-toggle input { flex: 0 0 auto; width: 22px; height: 22px; accent-color: #ffd66a; }

.we-confirm-list { display: grid; gap: 8px; }
.we-confirm-item { padding: 11px 12px; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.we-confirm-item b { display: block; font-size: 11px; margin-bottom: 4px; }

.we-toast {
  position: fixed;
  z-index: 200;
  left: 14px;
  right: 14px;
  bottom: calc(92px + env(safe-area-inset-bottom, 0px));
  max-width: 760px;
  margin: 0 auto;
  transform: translateY(18px);
  opacity: 0;
  pointer-events: none;
  padding: 12px 14px;
}
.we-toast.is-show { opacity: 1; transform: translateY(0); }
.we-loading { position: fixed; inset: 0; z-index: 190; display: none; place-items: center; }
.we-loading.is-show { display: grid; }
.we-spinner { width: 46px; height: 46px; border-top-color: var(--we-gold); }
.we-close,
.we-icon-btn {
  display: inline-grid;
  place-items: center;
  padding: 0;
  font-weight: 950;
  line-height: 1;
}
.we-close {
  font-size: 24px;
  transform: none;
}
.we-icon-btn {
  font-size: 20px;
}
.we-close:active,
.we-icon-btn:active {
  transform: scale(.96);
}
.we-choice-grid.is-primary-ops .we-choice {
  min-height: 82px;
}
.we-choice-grid.is-primary-ops .we-choice b {
  font-size: 15px;
}
.we-op-group > span,
.we-op-group > summary {
  min-height: 32px;
  margin-bottom: 9px;
  padding: 0 2px;
}
.we-detail-.native-screen {
  padding: 2px 0 0;
}
.we-field.two {
  align-items: start;
}
.we-paste-note {
  margin-top: -4px;
}
.we-block-results {
  grid-template-columns: 1fr;
}
.we-block-item {
  min-height: 70px;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  grid-template-areas: "thumb text group";
  padding: 10px 11px;
}
.we-block-item strong {
  font-size: 14px;
  max-height: 1.35em;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.we-block-item em {
  grid-area: group;
  align-self: center;
  justify-self: end;
  max-width: 94px;
}
@media (min-width: 680px) {
  .we-block-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 430px) {
  .we-shell { padding-left: 10px; padding-right: 10px; }
  .we-mode-change { font-size: 12px; padding: 0 10px; }
  .we-card { padding: 12px; }
  .we-card-head { align-items: center; }
  .we-card-head strong { font-size: 16px; }
  .we-plan-badge { padding: 7px 8px; }
  .we-step-row { grid-template-columns: 38px minmax(0,1fr) auto; padding: 10px; }
  .we-step-icon { width: 38px; height: 38px; }
  .we-choice-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
  .we-choice { min-height: 70px; padding: 10px; }
  .we-mode-three { gap: 7px; }
  .we-mode-tile { min-height: 86px; padding: 10px 6px; }
  .we-mode-tile small { font-size: 10px; }
  .we-sheet-panel { padding-left: 10px; padding-right: 10px; }
  .we-sheet-head { top: -16px; }
  .we-block-results { grid-template-columns: 1fr; gap: 8px; }
  .we-block-item { min-height: 92px; padding: 9px; grid-template-columns: 42px minmax(0,1fr); }
  .we-block-thumb { width: 40px; height: 40px; }
  .we-block-icon { width: 32px; height: 32px; }
  .we-custom-block { grid-template-columns: 1fr; }
}

@media (max-width: 370px) {
  .we-block-results { grid-template-columns: 1fr; }
  .we-mode-three { grid-template-columns: 1fr; }
}

@media (max-width: 350px) {
  .we-choice-grid { grid-template-columns: 1fr; }
  .we-quick-grid { grid-template-columns: 1fr; }
  .we-step-row { grid-template-columns: 36px minmax(0,1fr); }
  .we-step-row em { grid-column: 2; }
  .we-field.two { grid-template-columns: 1fr; }
}
.native-screen.webedit-page {
  padding-bottom: calc(156px + env(safe-area-inset-bottom, 0px));
}
.we-flow-step {
  max-height: 0;
  opacity: 0;
  transform: translateY(-8px);
  overflow: hidden;
  pointer-events: none;
  margin-top: -10px;
}
.we-flow-step.is-visible {
  max-height: 280px;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  margin-top: 0;
}
.we-block-preview {
  display: grid;
  gap: 7px;
  padding: 8px 2px 0 52px;
}
.we-block-preview-empty,
.we-block-preview-item {
  min-height: 42px;
}
.we-block-preview-empty {
  display: flex;
  align-items: center;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 850;
}
.we-block-preview-item {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
}
.we-block-preview-item .we-block-thumb {
  width: 34px;
  height: 34px;
}
.we-block-preview-item .we-block-icon {
  width: 28px;
  height: 28px;
}
.we-block-preview-item span:not(.we-block-thumb):not(.we-block-thumb span) {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12px;
  font-weight: 900;
}
.we-block-preview-item b {
  padding: 5px 8px;
  font-size: 12px;
}
.we-paste-inline {
  width: 100%;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 68px;
  padding: 12px;
}
.we-paste-inline b,
.we-paste-inline small {
  display: block;
  min-width: 0;
}
.we-paste-inline b { font-size: 15px; }
.we-paste-inline small { margin-top: 3px; font-size: 11px; line-height: 1.35; }
.we-paste-inline input {
  width: 24px;
  height: 24px;
  accent-color: var(--we-gold);
}
.we-bottom {
  padding-top: 10px;
}
.we-bottom-inner {
  display: grid;
  gap: 9px;
}
.we-bottom-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.we-bottom-tool {
  min-width: 0;
  min-height: 44px;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.we-primary { min-height: 54px; }
.we-sheet {
  display: block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.we-sheet.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.we-sheet-backdrop { opacity: 0; }
.we-sheet.is-open .we-sheet-backdrop { opacity: 1; }
.we-sheet-panel {
  transform: translateY(24px);
  opacity: .98;
}
.we-sheet.is-open .we-sheet-panel {
  transform: translateY(0);
  opacity: 1;
}
.we-detail-part {
  display: none;
  gap: 10px;
}
.we-detail-part.is-visible {
  display: grid;
}
.we-detail-empty {
  padding: 14px;
  font-size: 13px;
  line-height: 1.5;
}
.we-toast { bottom: calc(156px + env(safe-area-inset-bottom, 0px)); }
@media (max-width: 430px) {
  .native-screen.webedit-page { padding-bottom: calc(154px + env(safe-area-inset-bottom, 0px)); }
  .we-block-preview { padding-left: 48px; }
  .we-paste-inline { grid-template-columns: 38px minmax(0,1fr) auto; padding: 10px; }
  .we-bottom { padding-left: 10px; padding-right: 10px; }
  .we-bottom-actions { gap: 7px; }
  .we-bottom-tool { min-height: 42px; font-size: 11px; }
  .we-toast { bottom: calc(154px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 350px) {
  .we-bottom-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .we-bottom-tool { font-size: 10px; }
}
.we-add-more-block {
  display: none;
  width: 100%;
  min-height: 48px;
  margin: 8px 0 12px;
  font-weight: 950;
}
.we-add-more-block.is-visible {
  display: block;
}
.we-block-picker {
  display: grid;
  gap: 10px;
  overflow: hidden;
  max-height: 1400px;
  opacity: 1;
  transform: translateY(0);
}
.we-block-picker.is-hidden {
  max-height: 0;
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
}
.we-pattern-row.is-single {
  grid-template-areas: "thumb main remove" "weight weight weight";
}
.we-pattern-weight.is-locked {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 30px;
  padding-top: 0;
}
.we-pattern-weight.is-locked span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 30px;
  font-size: 12px;
  font-weight: 950;
}
.we-selected-blocks .we-note {
  margin-bottom: 2px;
}
.we-toast {
  top: calc(env(safe-area-inset-top, 0px) + 14px);
  bottom: auto;
  left: 14px;
  right: 14px;
  transform: translateY(-18px) scale(.98);
}
.we-toast.is-show {
  transform: translateY(0) scale(1);
}
.we-replace-preview {
  min-height: 54px;
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 850;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.we-replace-preview .we-block-thumb {
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
}
.we-replace-preview .we-block-icon {
  width: 32px;
  height: 32px;
}
.we-replace-preview span:not(.we-block-thumb):not(.we-block-thumb span) {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.we-replace-preview b,
.we-replace-preview small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.we-replace-preview b {
  font-size: 14px;
}
.we-replace-preview small {
  font-size: 10px;
}
.we-bottom {
  -webkit-backdrop-filter: blur(10px);
}
.we-sheet {
  z-index: 120;
}
.we-sheet-backdrop {
  -webkit-backdrop-filter: blur(2px) saturate(1.06);
}
.we-sheet-panel {
  max-height: min(94dvh, calc(100dvh - env(safe-area-inset-top, 0px) - 8px));
  padding: 14px 14px calc(env(safe-area-inset-bottom, 0px) + 24px);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scroll-padding-bottom: calc(112px + env(safe-area-inset-bottom, 0px));
}
.we-sheet-panel.block-panel {
  max-height: min(95dvh, calc(100dvh - env(safe-area-inset-top, 0px) - 6px));
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 30px);
}
.we-sheet-head {
  top: -14px;
  margin: 0 -2px 10px;
  padding: 4px 2px 12px;
}
.we-block-picker:not(.is-hidden) {
  max-height: none;
  overflow: visible;
}
.we-block-results {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px));
}
.we-block-item {
  width: 100%;
  min-height: 72px;
  padding: 9px 10px;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-areas:
    "thumb text"
    "thumb group";
  align-items: center;
  gap: 6px 9px;
}
.we-block-item strong {
  font-size: 14px;
  line-height: 1.25;
  max-height: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.we-block-item span:not(.we-block-thumb span) {
  font-size: 10.5px;
}
.we-block-item em {
  margin-top: 1px;
  padding: 3px 7px;
  max-width: 100%;
  font-size: 10px;
}
.we-block-thumb {
  width: 44px;
  height: 44px;
}
.we-block-icon {
  width: 34px;
  height: 34px;
}
.we-more,
.we-custom-block,
.we-add-more-block,
.we-selected-blocks {
  flex: 0 0 auto;
}
.we-custom-block {
  margin-bottom: calc(22px + env(safe-area-inset-bottom, 0px));
}
@media (max-width: 430px) {
  .we-sheet-panel {
    padding-left: 10px;
    padding-right: 10px;
  }
  .we-block-results {
    gap: 8px;
  }
  .we-block-item {
    min-height: 70px;
    padding: 8px 9px;
    grid-template-columns: 46px minmax(0, 1fr);
  }
}
.we-bottom {
  -webkit-backdrop-filter: blur(8px);
}
.we-sheet-backdrop {
  -webkit-backdrop-filter: blur(1.5px) saturate(1.03);
}
.we-sheet-backdrop {
  -webkit-backdrop-filter: none;
}
.we-sheet-head,
#weBlockSheet .we-sheet-head {
  -webkit-backdrop-filter: none;
}
#weBlockSheet .we-sheet-panel {
  max-height: calc(100dvh - env(safe-area-inset-top, 0px));
}
#weBlockSheet .we-sheet-head {
  top: -16px;
  margin-left: -14px;
  margin-right: -14px;
  padding: 10px 14px 12px;
}
.we-status-safe-area {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: env(safe-area-inset-top, 0px);
  pointer-events: none;
  z-index: 230;
}

.we-toast {
  top: calc(env(safe-area-inset-top, 0px) + 12px);
  bottom: auto;
  z-index: 240;
}

.we-sheet-backdrop {
  -webkit-backdrop-filter: none;
}

.we-sheet-head,
#weBlockSheet .we-sheet-head,
#weOperationSheet .we-sheet-head,
#weDetailSheet .we-sheet-head,
#weConfirmSheet .we-sheet-head,
#weModeSheet .we-sheet-head,
#weOtherModeSheet .we-sheet-head {
  border-bottom: 1px solid rgba(255, 216, 148, .18);
  -webkit-backdrop-filter: none;
}

.we-sheet-head,
.we-sheet-head *,
#weBlockSheet .we-sheet-head,
#weBlockSheet .we-sheet-head *,
#weBlockSheet .we-label,
#weBlockSheet strong,
#weBlockSheet .we-sheet-head > div {
  background-image: none;
}

.we-toast {
  top: calc(env(safe-area-inset-top, 0px) + 12px);
  bottom: auto;
}

.we-sheet-backdrop {
  -webkit-backdrop-filter: none;
}

.we-sheet-head,
#weBlockSheet .we-sheet-head,
#weOperationSheet .we-sheet-head,
#weDetailSheet .we-sheet-head,
#weConfirmSheet .we-sheet-head,
#weModeSheet .we-sheet-head,
#weOtherModeSheet .we-sheet-head {
  border-bottom: 1px solid rgba(255, 205, 126, .22);
  -webkit-backdrop-filter: none;
}

.we-sheet-head *,
#weBlockSheet .we-sheet-head *,
#weOperationSheet .we-sheet-head *,
#weDetailSheet .we-sheet-head *,
#weConfirmSheet .we-sheet-head *,
#weModeSheet .we-sheet-head *,
#weOtherModeSheet .we-sheet-head * {
  background-image: none;
}
.we-status-safe-area {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: env(safe-area-inset-top, 0px);
  z-index: 260;
  pointer-events: none;
}
.we-toast {
  top: calc(env(safe-area-inset-top, 0px) + 12px);
  bottom: auto;
  z-index: 270;
}
.we-sheet-backdrop,
#weBlockSheet .we-sheet-backdrop,
#weOperationSheet .we-sheet-backdrop,
#weDetailSheet .we-sheet-backdrop,
#weConfirmSheet .we-sheet-backdrop,
#weModeSheet .we-sheet-backdrop,
#weOtherModeSheet .we-sheet-backdrop {
  -webkit-backdrop-filter: none;
}
.we-sheet-head,
#weBlockSheet .we-sheet-head,
#weOperationSheet .we-sheet-head,
#weDetailSheet .we-sheet-head,
#weConfirmSheet .we-sheet-head,
#weModeSheet .we-sheet-head,
#weOtherModeSheet .we-sheet-head {
  border-bottom: 1px solid rgba(255, 232, 184, .16);
  -webkit-backdrop-filter: none;
}
.we-sheet-head *,
#weBlockSheet .we-sheet-head *,
#weOperationSheet .we-sheet-head *,
#weDetailSheet .we-sheet-head *,
#weConfirmSheet .we-sheet-head *,
#weModeSheet .we-sheet-head *,
#weOtherModeSheet .we-sheet-head * {
  background-image: none;
}
.native-screen.webedit-page {
  padding-bottom: calc(var(--we-fixed-area-height) + env(safe-area-inset-bottom, 0px));
}
.we-shell {
  padding-bottom: 24px;
}
.we-bottom {
  left: 0;
  right: 0;
  bottom: 0;
  padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px));
  -webkit-backdrop-filter: blur(16px);
  pointer-events: none;
}
.we-bottom-inner {
  pointer-events: auto;
  max-width: 760px;
  margin: 0 auto;
}
.we-sheet {
  position: fixed;
  inset: 0;
}
.we-sheet-panel,
.we-sheet-panel.compact,
.we-sheet-panel.block-panel {
  bottom: 0;
  padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
}
@media (display-mode: standalone) {
  .native-screen,
  .native-screen.webedit-page {
    min-height: 100dvh;
  }
}
.native-screen {
  min-height: 100%;
  height: -webkit-fill-available;
  overflow-x: hidden;
  overflow-y: auto;
}
.native-screen.webedit-page {
  position: static;
  inset: auto;
  width: 100%;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  height: auto;
  margin: 0;
  padding-bottom: 126px;
  overflow-x: hidden;
  overflow-y: auto;
}
.native-screen.webedit-page .we-shell {
  min-height: 0;
  padding-bottom: 28px;
}
.native-screen.webedit-page .we-bottom {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: auto;
  width: 100%;
  margin: 0;
  padding: 10px 14px 0;
  transform: none;
  z-index: 1200;
}
.native-screen.webedit-page .we-bottom-inner {
  margin: 0 auto;
  padding: 0;
}
.native-screen.webedit-page .we-bottom-actions {
  margin-bottom: 9px;
}
.native-screen.webedit-page .we-primary {
  margin-bottom: 0;
}
.native-screen.webedit-page .we-sheet {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.native-screen.webedit-page .we-sheet-backdrop {
  position: absolute;
  inset: 0;
  margin: 0;
}
.native-screen.webedit-page .we-sheet-panel,
.native-screen.webedit-page .we-sheet-panel.compact,
.native-screen.webedit-page .we-sheet-panel.block-panel,
.native-screen.webedit-page #weBlockSheet .we-sheet-panel,
.native-screen.webedit-page #weOperationSheet .we-sheet-panel,
.native-screen.webedit-page #weDetailSheet .we-sheet-panel,
.native-screen.webedit-page #weConfirmSheet .we-sheet-panel,
.native-screen.webedit-page #weModeSheet .we-sheet-panel,
.native-screen.webedit-page #weOtherModeSheet .we-sheet-panel {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: auto;
  width: 100%;
  max-height: calc(100% - env(safe-area-inset-top, 0px));
  margin: 0;
  padding-bottom: 0;
  border-bottom: 0;
  transform: translateY(22px);
}
.native-screen.webedit-page .we-sheet.is-open .we-sheet-panel {
  transform: translateY(0);
}
.native-screen.webedit-page.modal-open {
  overflow: hidden;
}
@media (min-width: 760px) {
  .native-screen.webedit-page .we-sheet-panel,
  .native-screen.webedit-page .we-sheet-panel.compact,
  .native-screen.webedit-page .we-sheet-panel.block-panel {
    left: 50%;
    right: auto;
    bottom: 28px;
    width: min(820px, calc(100% - 56px));
    border-bottom: 1px solid rgba(255,255,255,.13);
    transform: translate(-50%, 22px);
  }
  .native-screen.webedit-page .we-sheet.is-open .we-sheet-panel {
    transform: translate(-50%, 0);
  }
}
.native-screen.webedit-page .we-page-end-spacer {
  display: block;
  width: 100%;
  height: 220px;
  flex: 0 0 220px;
  pointer-events: none;
}

@media (min-width: 760px) {
  .native-screen.webedit-page .we-page-end-spacer {
    height: 170px;
    flex-basis: 170px;
  }
}
.native-screen.webedit-page .we-sheet {
  z-index: 2000;
}

.native-screen.webedit-page:has(.we-sheet.is-open) .we-bottom,
.native-screen.webedit-page.modal-open .we-bottom {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.native-screen.webedit-page #weBlockSheet .we-block-item .we-block-thumb,
.native-screen.webedit-page #weBlockSheet .we-pattern-row .we-block-thumb,
.native-screen.webedit-page #weBlockSheet .we-block-preview-item .we-block-thumb {
  justify-self: center;
  align-self: center;
  display: grid;
  place-items: center;
}

.native-screen.webedit-page #weBlockSheet .we-block-icon {
  margin: 0 auto;
  object-position: center center;
}
@media (max-width: 759px) {
  .native-screen.webedit-page .we-sheet-panel,
  .native-screen.webedit-page .we-sheet-panel.compact,
  .native-screen.webedit-page .we-sheet-panel.block-panel,
  .native-screen.webedit-page #weBlockSheet .we-sheet-panel,
  .native-screen.webedit-page #weOperationSheet .we-sheet-panel,
  .native-screen.webedit-page #weDetailSheet .we-sheet-panel,
  .native-screen.webedit-page #weConfirmSheet .we-sheet-panel,
  .native-screen.webedit-page #weModeSheet .we-sheet-panel,
  .native-screen.webedit-page #weOtherModeSheet .we-sheet-panel {
    bottom: 10px;
    border-bottom: 1px solid rgba(255,255,255,.13);
  }
}
.native-screen.webedit-page #weOperationSheet .we-sheet-panel {
  padding-bottom: 40px;
  scroll-padding-bottom: 40px;
}
.native-screen.webedit-page #weOperationSheet .we-op-groups {
  padding-bottom: 12px;
}
.native-screen.webedit-page #weBlockSheet .we-sheet-head {
  position: relative;
  top: auto;
  flex: 0 0 auto;
  margin: 0;
  padding: 2px 0 12px;
}
.native-screen.webedit-page #weBlockSheet .we-block-picker {
  position: relative;
  z-index: 1;
  margin-top: 8px;
}
.native-screen.webedit-page #weBlockSheet .we-search-input {
  position: relative;
  top: auto;
  z-index: 1;
  margin-top: 0;
}
.native-screen.webedit-page #weBlockSheet .we-sheet-head {
  position: sticky;
  top: 0;
  z-index: 40;
}
.native-screen.webedit-page #weBlockSheet .we-search-input {
  position: sticky;
  top: 74px;
  z-index: 30;
  display: block;
  width: 100%;
  margin: 8px 0 10px;
}
.native-screen.webedit-page #weBlockSheet .we-sheet-panel {
  padding-bottom: 52px;
  scroll-padding-top: 138px;
  scroll-padding-bottom: 52px;
}
.native-screen.webedit-page #weBlockSheet .we-block-results {
  padding-bottom: 18px;
}
.native-screen.webedit-page #weBlockSheet .we-custom-block {
  margin-bottom: 12px;
}
.native-screen.webedit-page .we-bottom {
  padding-bottom: 12px;
}
.native-screen.webedit-page .we-primary {
  margin-bottom: 0;
}
.native-screen.webedit-page .we-block-preview-item {
  grid-template-columns: 38px minmax(0, 1fr) auto;
  column-gap: 14px;
}
.native-screen.webedit-page .we-block-preview-item > span:not(.we-block-thumb) {
  margin-left: 2px;
}
.native-screen.webedit-page #weDetailSheet .we-sheet-panel {
  padding-bottom: 52px;
  scroll-padding-bottom: 52px;
}
.native-screen.webedit-page #weDetailSheet .we-detail-.native-screen {
  padding-bottom: 24px;
}
.native-screen.webedit-page #weDetailSheet .we-detail-part:last-child {
  margin-bottom: 8px;
}
.native-screen.webedit-page #weDetailSheet .we-replace-preview.is-set {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  column-gap: 14px;
  min-height: 64px;
  padding: 10px 12px;
}
.native-screen.webedit-page #weDetailSheet .we-replace-preview .we-block-thumb {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  justify-self: center;
  margin: 0;
}
.native-screen.webedit-page #weDetailSheet .we-replace-preview .we-block-icon {
  width: 34px;
  height: 34px;
  margin: 0 auto;
  object-position: center center;
}
.native-screen.webedit-page #weDetailSheet .we-replace-preview > span:not(.we-block-thumb) {
  display: grid;
  gap: 3px;
  min-width: 0;
  margin: 0;
}
.native-screen.webedit-page #weBlockSheet .we-sheet-head,
.native-screen.webedit-page #weBlockSheet .we-search-input {
  position: relative;
  top: auto;
}
.native-screen.webedit-page #weBlockSheet .we-search-input {
  z-index: 1;
  margin: 8px 0 10px;
}
.native-screen.webedit-page #weBlockSheet .we-sheet-panel {
  scroll-padding-top: 0;
}
.native-screen.webedit-page .we-block-scroll-top {
  position: sticky;
  left: auto;
  bottom: 14px;
  z-index: 80;
  display: none;
  width: 44px;
  height: 44px;
  margin: -50px 12px 6px auto;
  padding: 0;
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
  place-items: center;
  -webkit-backdrop-filter: blur(10px);
}
.native-screen.webedit-page .we-block-scroll-top.is-visible {
  display: grid;
}
.native-screen.webedit-page #weModeSheet .we-sheet-panel,
.native-screen.webedit-page #weOtherModeSheet .we-sheet-panel {
  padding-bottom: 46px;
  scroll-padding-bottom: 46px;
}
.native-screen.webedit-page #weModeSheet .we-mode-three {
  gap: 8px;
  align-items: stretch;
}
.native-screen.webedit-page #weModeSheet .we-mode-tile {
  min-height: 64px;
  padding: 10px 12px;
}
.native-screen.webedit-page #weModeSheet .we-mode-tile b {
  font-size: 14px;
}
.native-screen.webedit-page #weModeSheet .we-mode-tile small {
  font-size: 11px;
  line-height: 1.35;
}
.native-screen.webedit-page #weOtherModeSheet .we-mode-list button {
  min-height: 56px;
  padding: 9px 12px;
}


}
@layer legacy {
.native-screen.point-exchange-page {
  min-height: 100vh;
  margin: 0;
}

.point-exchange-shell {
  width: min(1240px, calc(100% - 34px));
  margin: 0 auto;
  padding: max(34px, env(safe-area-inset-top)) 0 max(60px, env(safe-area-inset-bottom));
}

.point-exchange-hero {
  position: relative;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin-bottom: 18px;
  padding: clamp(24px, 5vw, 42px);
  overflow: hidden;
}

.point-exchange-hero > .cast-page-title-icon {
  position: relative;
  z-index: 1;
  width: 62px;
  height: 62px;
  object-fit: contain;
}

.point-exchange-hero-copy,
.point-exchange-balance,
.point-exchange-back {
  position: relative;
  z-index: 1;
}

.point-exchange-kicker,
.point-exchange-section-head p {
  margin: 0 0 8px;
  font-size: 0.76rem;
  font-weight: 950;
}

.point-exchange-hero h1 {
  margin: 0;
  font-size: clamp(2rem, 6vw, 4.6rem);
  line-height: 1;
}

.point-exchange-hero-copy > p:last-child {
  max-width: 650px;
  margin: 17px 0 0;
  font-size: clamp(0.93rem, 1.8vw, 1.08rem);
  line-height: 1.8;
}

.point-exchange-balance {
  display: grid;
  grid-template-columns: max-content max-content;
  align-items: baseline;
  justify-content: start;
  column-gap: 9px;
  width: min(100%, 340px);
  min-width: 220px;
  margin: 0 0 18px auto;
  padding: 21px 24px;
}

.point-exchange-balance span {
  grid-column: 1 / -1;
  font-size: 0.76rem;
  font-weight: 900;
}

.point-exchange-balance strong {
  margin-top: 4px;
  font-size: clamp(2.4rem, 5vw, 4rem);
  line-height: 1;
}

.point-exchange-balance small {
  margin-left: 0;
  font-weight: 900;
}

.point-exchange-back {
  position: relative;
  z-index: 1;
  align-self: start;
  width: auto;
  box-sizing: border-box;
  white-space: nowrap;
}

.point-exchange-line-notice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  margin-top: 18px;
  padding: 18px 20px;
}

.point-exchange-line-mark {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  font-size: 0.76rem;
  font-weight: 1000;
}

.point-exchange-line-notice strong { font-size: 1rem; }
.point-exchange-line-notice p {
  margin: 5px 0 0;
  font-size: 0.88rem;
  line-height: 1.65;
}


.point-exchange-rule-notice {
  display: block;
  margin-top: 12px;
  padding: 18px 20px;
}


.point-exchange-rule-notice strong { font-size: 1rem; }
.point-exchange-rule-notice p {
  margin: 5px 0 0;
  font-size: 0.88rem;
  line-height: 1.65;
}

.point-exchange-message {
  display: grid;
  gap: 5px;
  margin-top: 18px;
  padding: 17px 20px;
}

.point-exchange-message p { margin: 3px 0 0; line-height: 1.6; }

.point-exchange-section { margin-top: 34px; }
.point-exchange-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.point-exchange-section-head h2 { margin: 0; font-size: clamp(1.5rem, 3vw, 2.35rem); }
.point-exchange-section-head > span {
  padding: 7px 11px;
  font-size: 0.78rem;
  font-weight: 900;
}

.point-exchange-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.point-exchange-card {
  min-width: 0;
  overflow: hidden;
}
.point-exchange-card:hover { transform: translateY(-3px); }
.point-exchange-card.is-insufficient { opacity: 0.72; }

.point-exchange-card-image {
  position: relative;
  aspect-ratio: 16 / 11;
  overflow: hidden;
}
.point-exchange-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.point-exchange-card-image > span {
  position: absolute;
  z-index: 1;
  left: 13px;
  bottom: 11px;
  font-size: 0.68rem;
  font-weight: 950;
}

.point-exchange-card-.native-screen { display: grid; gap: 14px; padding: 17px; }
.point-exchange-card-.native-screen h3 {
  min-height: 3.2em;
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.6;
}
.point-exchange-cost { display: flex; align-items: baseline; gap: 5px; }
.point-exchange-cost strong { font-size: 1.75rem; line-height: 1; }
.point-exchange-cost span { font-size: 0.76rem; font-weight: 950; }

.point-exchange-form button,
.point-exchange-disabled {
  width: 100%;
  min-height: 45px;
  padding: 10px 12px;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 950;
}
.point-exchange-form button:disabled { opacity: 0.7; }

.point-exchange-history-list { display: grid; gap: 10px; }
.point-exchange-history-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 20px;
  padding: 17px 19px;
}
.point-exchange-history-main,
.point-exchange-history-side { display: grid; gap: 6px; }
.point-exchange-history-main strong { font-size: 0.95rem; }
.point-exchange-history-side { justify-items: end; text-align: right; }
.point-exchange-status {
  width: fit-content;
  padding: 4px 8px;
  font-size: 0.68rem;
  font-weight: 950;
}
.point-exchange-admin-note { grid-column: 1 / -1; margin: 0; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, 0.08); font-size: 0.82rem; }
.point-exchange-empty { padding: 26px; text-align: center; }
.admin-point-exchange-page .point-exchange-admin-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.admin-point-exchange-page .point-exchange-admin-summary a {
  display: grid;
  gap: 5px;
  padding: 15px;
  text-decoration: none;
}
.admin-point-exchange-page .point-exchange-admin-summary span { font-size: 0.76rem; font-weight: 800; }
.admin-point-exchange-page .point-exchange-admin-summary strong { font-size: 1.65rem; }
.admin-exchange-list { display: grid; gap: 12px; }
.admin-exchange-card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 15px;
}
.admin-exchange-card-image { width: 92px; aspect-ratio: 1; overflow: hidden; }
.admin-exchange-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.admin-exchange-card-.native-screen { min-width: 0; }
.admin-exchange-card-.native-screen h3 { margin: 6px 0 4px; font-size: 1rem; }
.admin-exchange-card-.native-screen p { margin: 0; font-size: 0.85rem; line-height: 1.6; }
.admin-exchange-points { margin-top: 8px; font-weight: 950; }
.admin-exchange-actions { display: grid; gap: 8px; min-width: 190px; }
.admin-exchange-actions input { width: 100%; box-sizing: border-box; }
.admin-exchange-actions .cast-primary-button,
.admin-exchange-actions .cast-danger-button { width: 100%; }
.admin-exchange-meta { display: grid; gap: 4px; justify-items: end; text-align: right; }

@media (max-width: 1050px) {
  .point-exchange-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 780px) {
  .point-exchange-shell { width: min(100% - 22px, 720px); padding-top: 0; }
  .point-exchange-hero { overflow: hidden; }
  .point-exchange-back {
    position: static;
    top: auto;
    right: auto;
    align-self: center;
  }
  .point-exchange-balance {
    min-width: 0;
    width: 100%;
    margin: 0 0 14px;
    box-sizing: border-box;
  }
  .point-exchange-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
  .point-exchange-card-.native-screen { padding: 14px; }
  .point-exchange-card-.native-screen h3 { min-height: 0; }
  .admin-point-exchange-page .point-exchange-admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-exchange-card { grid-template-columns: 72px minmax(0, 1fr); }
  .admin-exchange-card-image { width: 72px; }
  .admin-exchange-actions,
  .admin-exchange-meta { grid-column: 1 / -1; width: 100%; justify-items: stretch; text-align: left; }
}

@media (max-width: 520px) {
  .point-exchange-line-notice { grid-template-columns: 48px minmax(0, 1fr); padding: 15px; }
  .point-exchange-rule-notice { padding: 15px; }
  .point-exchange-line-mark { width: 48px; height: 48px; font-size: 0.68rem; }
  .point-exchange-grid { grid-template-columns: 1fr; }
  .point-exchange-card { display: grid; grid-template-columns: 118px minmax(0, 1fr); }
  .point-exchange-card-image { height: 100%; min-height: 190px; aspect-ratio: auto; }
  .point-exchange-card-.native-screen { align-content: center; }
  .point-exchange-cost strong { font-size: 1.55rem; }
  .point-exchange-history-item { grid-template-columns: 1fr; }
  .point-exchange-history-side { justify-items: start; text-align: left; }
}
.native-screen.point-exchange-confirm-open {
  overflow: hidden;
  touch-action: none;
}

.point-exchange-confirm[hidden] {
  display: none;
}

.point-exchange-confirm {
  position: fixed;
  z-index: 12000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: max(20px, env(safe-area-inset-top)) 18px max(20px, env(safe-area-inset-bottom));
  opacity: 0;
  pointer-events: none;
}

.point-exchange-confirm.is-open {
  opacity: 1;
  pointer-events: auto;
}

.point-exchange-confirm-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  -webkit-backdrop-filter: blur(13px);
}

.point-exchange-confirm-panel {
  position: relative;
  width: min(100%, 430px);
  box-sizing: border-box;
  padding: 28px 24px 22px;
  overflow: hidden;
  text-align: center;
  transform: translateY(16px) scale(0.97);
}

.point-exchange-confirm.is-open .point-exchange-confirm-panel {
  transform: translateY(0) scale(1);
}

.point-exchange-confirm-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin: 0 auto 13px;
}

.point-exchange-confirm-icon img {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: contain;
}

.point-exchange-confirm-kicker {
  margin: 0 0 7px;
  font-size: 0.7rem;
  font-weight: 950;
}

.point-exchange-confirm-panel h2 {
  margin: 0;
  font-size: clamp(1.35rem, 5vw, 1.8rem);
  line-height: 1.3;
}

.point-exchange-confirm-product-image {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  margin: 18px 0 0;
  overflow: hidden;
}

.point-exchange-confirm-product-image[hidden] {
  display: none;
}

.point-exchange-confirm-product-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.point-exchange-confirm-description {
  margin: 18px 0 0;
  font-size: 0.96rem;
  line-height: 1.75;
}

.point-exchange-confirm-description strong {
  display: block;
  margin-bottom: 4px;
  font-size: 1.05rem;
}

.point-exchange-confirm-description span {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  font-weight: 900;
}

.point-exchange-confirm-description b {
  font-size: 1.3rem;
}

.point-exchange-confirm-note {
  margin: 14px 0 0;
  padding: 12px 14px;
  font-size: 0.8rem;
  line-height: 1.55;
}

.point-exchange-confirm-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: 10px;
  margin-top: 22px;
}

.point-exchange-confirm-actions button {
  min-height: 50px;
  padding: 0 16px;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 950;
}

.point-exchange-confirm-actions button:active {
  transform: scale(0.98);
}

.point-exchange-confirm-submit:disabled {
  opacity: 0.68;
}

@media (max-width: 520px) {
  .point-exchange-confirm-panel {
    padding: 25px 18px 18px;
  }

  .point-exchange-confirm-actions {
    grid-template-columns: 1fr 1.16fr;
  }

  .point-exchange-confirm-actions button {
    min-height: 48px;
    padding: 0 11px;
  }
}

}
@layer legacy {
.guest-admin-shell{display:grid;gap:18px;min-width:0}.guest-admin-lead{max-width:820px;line-height:1.7}.guest-panel-note{margin:7px 0 0;max-width:780px;font-size:.82rem;line-height:1.65}.guest-flash{padding:14px 16px}

.guest-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.guest-stat-grid>div{padding:18px}.guest-stat-grid span{display:block;font-size:.76rem}.guest-stat-grid strong{display:block;margin-top:5px;font-size:1.7rem}

.guest-badge{display:inline-flex;width:max-content;max-width:100%;align-items:center;justify-content:center;padding:5px 9px;font-size:.7rem;line-height:1.25;white-space:nowrap}
.guest-control-stack{display:grid;gap:12px}.guest-control-card{padding:0;overflow:hidden}.guest-control-card>summary{list-style:none}.guest-control-card>summary::-webkit-details-marker{display:none}.guest-control-summary{display:flex;gap:16px;align-items:center;justify-content:space-between;min-height:86px;padding:18px 20px;user-select:none}.guest-control-title{display:grid;gap:4px;min-width:0}.guest-control-title>strong{font-size:1rem;line-height:1.35}.guest-control-title>small{display:block;font-size:.76rem;line-height:1.45;overflow-wrap:anywhere}.guest-control-meta{display:flex;gap:12px;align-items:center;flex:0 0 auto}.guest-control-chevron,.guest-person-chevron{width:10px;height:10px;border-right:1.5px solid rgba(255,255,255,.6);border-bottom:1.5px solid rgba(255,255,255,.6);transform:rotate(45deg)}.guest-control-card[open] .guest-control-chevron{transform:rotate(225deg)}.guest-control-.native-screen{padding:2px 20px 20px;border-top:1px solid rgba(255,255,255,.07)}.guest-control-.native-screen>.admin-card-head{padding-top:18px}
.guest-settings-form,.guest-slot-add,.guest-inline-update{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.guest-settings-form label,.guest-slot-add label,.guest-inline-update label{display:grid;gap:6px;font-size:.78rem}.guest-settings-form input,.guest-settings-form select,.guest-slot-add input,.guest-filter-form select,.guest-inline-update select{min-height:43px;max-width:100%;padding:9px 11px}.guest-check{display:flex;grid-template-columns:none;flex-direction:row;gap:8px;align-items:center}.guest-check input{width:20px;height:20px;accent-color:#d8c27a}.sm-admin-guest-page .guest-date-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;grid-column:1/-1}.sm-admin-guest-page .guest-settings-form label:has(input[name="park_status_note"]){grid-column:1/-1}
.guest-sync-head{display:flex;gap:18px;align-items:flex-start;justify-content:space-between}.guest-sync-action{flex:0 0 auto}.guest-sync-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.guest-sync-card{display:grid;gap:6px;min-width:0;padding:15px}.guest-sync-card span{font-size:.7rem;font-weight:700}.guest-sync-card strong{font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.guest-sync-card small{font-size:.72rem;line-height:1.45}.guest-sync-note{margin:14px 0 0;padding:11px 13px;font-size:.76rem;line-height:1.65}.guest-sync-error{margin-top:12px;padding:11px 13px;font-size:.78rem}
.guest-slot-list{display:grid;gap:9px;margin-top:16px}.guest-slot-item{display:grid;grid-template-columns:minmax(220px,1fr) 120px 90px auto;gap:12px;align-items:center;padding:13px 14px}.guest-slot-main,.guest-slot-capacity{display:grid;gap:3px}.guest-slot-main>span,.guest-slot-capacity>span{font-size:.76rem}.guest-slot-capacity>strong{font-size:.94rem}
.guest-list-head{align-items:flex-end}.guest-result-count{margin:5px 0 0;font-size:.76rem;line-height:1.55}.guest-search-form{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(190px,.8fr) minmax(160px,.7fr) auto auto;gap:10px;align-items:center;margin-bottom:14px}.guest-search-box{position:relative;display:block;min-width:0}.guest-search-box input{width:100%;min-width:0;min-height:46px;padding:10px 13px 10px 42px;outline:none}.guest-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:1.2rem;line-height:1;pointer-events:none}.guest-search-form select{width:100%;min-width:0;min-height:46px}.guest-search-submit,.guest-search-clear{min-height:46px;white-space:nowrap}.guest-search-clear{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.guest-bulk-form{display:grid;gap:10px;margin-bottom:14px}.guest-bulk-head{display:flex;gap:12px;align-items:center;justify-content:space-between}.guest-manual-wl-note{margin:0;font-size:.74rem;line-height:1.55}.guest-bulk-actions{display:flex;gap:8px;align-items:center;padding:9px 10px}.guest-selected-count{margin-right:auto;font-size:.76rem;white-space:nowrap}.guest-select{width:21px;height:21px;accent-color:#d8c27a}
.guest-participant-list{display:grid;gap:10px}.guest-participant-empty{text-align:center}.guest-person-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);overflow:hidden}.guest-person-select{display:flex;align-items:center;justify-content:center;padding:16px 8px;border-right:1px solid rgba(255,255,255,.065)}.guest-person-toggle{appearance:none;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr) 18px;gap:18px;align-items:center;width:100%;min-width:0;padding:15px 16px;text-align:left}.guest-person-primary{display:grid;gap:6px;min-width:0}.guest-person-name-row{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-width:0}.guest-person-name{font-size:1rem;line-height:1.3;overflow-wrap:anywhere}.guest-person-sub{font-size:.75rem;line-height:1.45;overflow-wrap:anywhere}.guest-person-overview{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 10px;align-items:center;justify-items:start;min-width:0}.guest-person-overview .guest-badge{grid-row:1/3}.guest-person-slot{font-size:.78rem;font-weight:650;line-height:1.35}.guest-person-wl{font-size:.7rem;line-height:1.35}.guest-person-card.is-open .guest-person-chevron{transform:rotate(225deg)}.guest-person-details{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.07);padding:16px}.guest-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.guest-detail-block{display:grid;gap:5px;min-width:0;padding:12px}.guest-detail-block>span{font-size:.66rem;font-weight:700}.guest-detail-block>strong{font-size:.85rem;overflow-wrap:anywhere}.guest-detail-block>small{font-size:.7rem;line-height:1.45;overflow-wrap:anywhere}.guest-person-settings{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(220px,1fr) minmax(220px,1fr) auto;gap:10px;align-items:end;margin-top:10px;padding:13px}.guest-person-settings-head{grid-column:1/-1}.guest-person-settings-head strong{display:block;margin-top:3px;font-size:.9rem}.guest-person-settings .cast-primary-button{min-height:44px}.guest-empty{padding:18px}

@media(max-width:1050px){.guest-sync-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-search-form{grid-template-columns:minmax(240px,1fr) 1fr 1fr}.guest-search-submit,.guest-search-clear{min-height:44px}.guest-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-person-settings{grid-template-columns:1fr 1fr}.guest-person-settings .cast-primary-button{grid-column:1/-1}}

@media(max-width:900px){.guest-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-slot-item{grid-template-columns:1fr 1fr}.guest-settings-form,.guest-slot-add,.guest-inline-update{align-items:stretch;flex-direction:column}.guest-settings-form label,.guest-slot-add label,.guest-inline-update label{width:100%}.guest-settings-form input,.guest-settings-form select,.guest-slot-add input,.guest-inline-update select{width:100%}.guest-person-toggle{grid-template-columns:minmax(0,1fr) minmax(180px,.7fr) 18px}}

@media(max-width:780px){.sm-admin-guest-page{overflow-x:hidden}.sm-admin-guest-page .sm-admin-shell{width:min(100%,100vw);padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.guest-admin-lead{font-size:.88rem}.guest-stat-grid{gap:9px}.guest-stat-grid>div{padding:14px}.guest-stat-grid strong{font-size:1.4rem}.guest-control-summary{min-height:78px;padding:15px 14px}.guest-control-.native-screen{padding:2px 14px 16px}.guest-control-meta{gap:9px}.guest-control-title>strong{font-size:.94rem}.guest-control-title>small{font-size:.71rem}.sm-admin-guest-page .guest-date-range{grid-template-columns:1fr;grid-column:auto}.sm-admin-guest-page .guest-settings-form label:has(input[name="park_status_note"]){grid-column:auto}.guest-slot-add .cast-primary-button,.guest-settings-form .cast-primary-button{width:100%;min-height:48px}.guest-sync-head{display:grid}.guest-sync-action,.guest-sync-action .cast-primary-button{width:100%}.guest-sync-action .cast-primary-button{min-height:48px}.guest-sync-grid{grid-template-columns:1fr 1fr}.guest-sync-card{padding:13px}.guest-slot-item{grid-template-columns:1fr auto;padding:14px}.guest-slot-main{grid-column:1/2}.guest-slot-capacity{grid-column:2/3;text-align:right}.guest-slot-item>.guest-badge{grid-column:1/2}.guest-slot-toggle{grid-column:2/3;min-height:42px}.guest-search-form{grid-template-columns:1fr 1fr;gap:9px}.guest-search-box{grid-column:1/-1}.guest-search-submit{grid-column:1/2}.guest-search-clear{grid-column:2/3}.guest-search-form select{min-height:44px}.guest-bulk-head{align-items:flex-start}.guest-bulk-actions{position:sticky;bottom:max(8px,env(safe-area-inset-bottom));z-index:8}.guest-person-card{grid-template-columns:38px minmax(0,1fr)}.guest-person-select{padding:14px 7px}.guest-person-toggle{grid-template-columns:minmax(0,1fr) 16px;gap:10px;padding:13px 12px}.guest-person-overview{grid-column:1/2;grid-template-columns:auto minmax(0,1fr);margin-top:2px}.guest-person-chevron{grid-column:2;grid-row:1/3;align-self:center}.guest-person-name{font-size:.96rem}.guest-person-details{padding:12px}.guest-detail-grid{grid-template-columns:1fr 1fr}.guest-person-settings{grid-template-columns:1fr;gap:10px}.guest-person-settings .cast-primary-button{grid-column:1}.guest-person-settings-head{grid-column:1}.guest-bulk-form{gap:8px}}

@media(max-width:520px){.guest-stat-grid{grid-template-columns:1fr 1fr}.guest-control-summary{align-items:flex-start}.guest-control-meta .guest-badge{display:none}.guest-sync-grid{grid-template-columns:1fr}.guest-slot-item{grid-template-columns:1fr}.guest-slot-main,.guest-slot-capacity,.guest-slot-item>.guest-badge,.guest-slot-toggle{grid-column:1}.guest-slot-capacity{text-align:left;grid-template-columns:auto 1fr;align-items:baseline;gap:8px}.guest-slot-toggle{width:100%}.guest-search-form{grid-template-columns:1fr}.guest-search-box,.guest-search-submit,.guest-search-clear{grid-column:1}.guest-search-submit,.guest-search-clear{width:100%}.guest-bulk-head{display:grid}.guest-bulk-head .button-link{width:100%;justify-content:center}.guest-bulk-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.guest-selected-count{grid-column:1/-1}.guest-bulk-actions .cast-primary-button,.guest-bulk-actions .button-link{min-width:0;min-height:44px;padding:9px 10px;font-size:.74rem}.guest-detail-grid{grid-template-columns:1fr}.guest-person-overview{grid-template-columns:auto minmax(0,1fr)}.guest-person-overview .guest-badge{grid-row:1/3}.sm-admin-guest-page .sm-admin-hero h1{font-size:clamp(1.7rem,9vw,2.35rem)}}
.guest-whitelist-schedule-block{display:grid;gap:13px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.guest-whitelist-schedule-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.guest-whitelist-schedule-head h3{margin:3px 0 4px;font-size:1rem}.guest-whitelist-schedule-head p{margin:0;max-width:760px;font-size:.75rem;line-height:1.6}
.guest-whitelist-override{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px}.guest-whitelist-override>div{display:grid;gap:4px}.guest-whitelist-override strong{font-size:.86rem}.guest-whitelist-override small{font-size:.72rem;line-height:1.5}
.guest-whitelist-schedule-form{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(240px,1fr) auto;gap:10px;align-items:end;padding:13px}.guest-whitelist-schedule-form label{display:grid;gap:6px;font-size:.72rem}.guest-whitelist-schedule-form select,.guest-whitelist-schedule-form input{width:100%;min-height:44px}.guest-whitelist-schedule-form .cast-primary-button{min-height:44px;white-space:nowrap}
.guest-whitelist-schedule-list{display:grid;gap:8px}.guest-whitelist-schedule-empty{margin:0;padding:13px;font-size:.74rem;text-align:center}.guest-whitelist-schedule-item{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto;gap:12px;align-items:center;padding:11px 12px}.guest-whitelist-schedule-main,.guest-whitelist-schedule-result{display:grid;gap:3px}.guest-whitelist-schedule-main strong{font-size:.84rem}.guest-whitelist-schedule-main span{font-size:.78rem}.guest-whitelist-schedule-main small,.guest-whitelist-schedule-result small{font-size:.68rem}.guest-whitelist-schedule-result{justify-items:start}.guest-schedule-cancel{min-height:38px}.guest-whitelist-schedule-error{grid-column:1/-1;margin:0;padding-top:8px;border-top:1px solid rgba(255,255,255,.06);font-size:.69rem;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:780px){.guest-whitelist-schedule-head,.guest-whitelist-override{display:grid}.guest-whitelist-override form,.guest-whitelist-override .button-link{width:100%}.guest-whitelist-schedule-form{grid-template-columns:1fr 1fr}.guest-whitelist-schedule-form .cast-primary-button{grid-column:1/-1;width:100%}.guest-whitelist-schedule-item{grid-template-columns:1fr auto}.guest-whitelist-schedule-result{justify-items:end}.guest-whitelist-schedule-item>form{grid-column:2;grid-row:1/2}.guest-whitelist-schedule-error{grid-column:1/-1}}
@media(max-width:520px){.guest-whitelist-schedule-form{grid-template-columns:1fr}.guest-whitelist-schedule-form .cast-primary-button{grid-column:1}.guest-whitelist-schedule-item{grid-template-columns:1fr}.guest-whitelist-schedule-result{justify-items:start}.guest-whitelist-schedule-item>form{grid-column:1;grid-row:auto}.guest-schedule-cancel{width:100%}}
.guest-search-form{grid-template-columns:minmax(260px,1.6fr) minmax(180px,.8fr) minmax(150px,.7fr) minmax(170px,.75fr) auto}
.guest-person-card[hidden]{display:none}
.guest-async-feedback{position:sticky;top:max(10px,env(safe-area-inset-top));z-index:30;padding:12px 14px;font-size:.78rem;line-height:1.5}
form[data-guest-ajax].is-sending{opacity:.72;pointer-events:none}
@media(max-width:1050px){.guest-search-form{grid-template-columns:minmax(240px,1.3fr) 1fr 1fr}.guest-search-clear{min-height:44px}}
@media(max-width:780px){.guest-search-form{grid-template-columns:1fr 1fr}.guest-search-box{grid-column:1/-1}.guest-search-clear{grid-column:1/-1;width:100%}}
@media(max-width:520px){.guest-search-form{grid-template-columns:1fr}.guest-search-box,.guest-search-clear{grid-column:1}.guest-search-clear{width:100%}}

}
@layer legacy {
.smais-id-shell{padding-bottom:70px}.smais-id-hero{position:relative}.smais-id-toplinks{display:flex;gap:10px;flex-wrap:wrap}.smais-id-lead{max-width:760px;line-height:1.75}.id-flash{margin:18px 0;padding:14px 16px;font-weight:700}
.id-toolbar{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;margin:24px 0}.id-total,.id-search-form{padding:18px}.id-total{display:flex;align-items:baseline;gap:7px}.id-total span{display:block;margin-right:auto;font-size:.8rem;font-weight:800}.id-total strong{font-size:2rem}.id-search-form>label{display:block;font-size:.76rem;font-weight:900;margin-bottom:8px}.id-search-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.id-search-form input{min-width:0;padding:12px 14px;font:inherit}.id-search-form button,.id-search-form a{padding:12px 16px;font:inherit;font-weight:900;text-decoration:none}.id-search-form a{display:grid;place-items:center}
.id-list-heading{display:flex;align-items:end;justify-content:space-between;margin:0 0 13px}.id-list-heading h2{margin:0;font-size:1.3rem}.id-list-heading span{font-size:.82rem}.id-account-list{display:grid;gap:12px}.id-account-card{padding:18px}.id-account-main{display:flex;gap:14px;align-items:center}.id-avatar{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;font-weight:900;font-size:1.15rem}.id-account-identity{min-width:0}.id-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.id-line strong{font-size:1.18rem}.id-lock-badge{font-size:.62rem;font-weight:900;padding:4px 7px}.id-account-identity p{margin:4px 0 8px;font-size:.88rem}.id-account-identity p span{opacity:.35}.id-meta{display:flex;flex-wrap:wrap;gap:7px 12px;font-size:.74rem}.id-account-state{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.id-account-state>div{padding:11px 12px}.id-account-state span{display:block;font-size:.69rem;margin-bottom:4px}.id-account-state strong{font-size:.83rem}.id-manage-details{margin-top:14px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.id-manage-details summary{width:max-content;font-weight:900;font-size:.82rem;list-style:none}.id-manage-details summary::-webkit-details-marker{display:none}.id-manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.id-edit-form,.id-unlock-form{padding:15px}.id-form-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:13px}.id-form-head span{display:block;font-size:.68rem;font-weight:900}.id-form-head strong{font-size:.92rem}.id-form-head small{max-width:150px;text-align:right;font-size:.67rem}.id-edit-form label{display:grid;gap:6px;font-size:.72rem;font-weight:800}.id-edit-form input{width:100%;box-sizing:border-box;padding:11px 12px;font:inherit}.id-edit-form button,.id-unlock-form button{margin-top:10px;width:100%;padding:10px 12px;font:inherit;font-size:.78rem;font-weight:900}.id-unlock-form{grid-column:1/-1}.id-unlock-form p{margin:0;font-size:.8rem}.id-empty{padding:30px;text-align:center}
@media(max-width:760px){.smais-id-shell{padding-left:14px;padding-right:14px}.smais-id-toplinks{gap:7px}.smais-id-toplinks .sm-admin-dashboard-link{font-size:.72rem}.id-toolbar{grid-template-columns:1fr}.id-total{padding:14px 15px}.id-search-form>div{grid-template-columns:minmax(0,1fr) auto}.id-search-form a{grid-column:1/-1}.id-account-card{padding:15px}.id-account-main{align-items:flex-start}.id-avatar{width:42px;height:42px;flex-basis:42px}.id-meta{display:grid;gap:4px}.id-account-state{grid-template-columns:1fr}.id-account-state>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.id-account-state span{margin:0}.id-manage-grid{grid-template-columns:1fr}.id-form-head{display:block}.id-form-head small{display:block;text-align:left;max-width:none;margin-top:4px}.id-list-heading{align-items:center}.id-line strong{font-size:1.05rem}}
.id-account-open{display:block;text-decoration:none;outline:none}.id-account-open:hover .id-account-main{transform:translateX(2px)}.id-open-hint{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-top:12px;font-size:.75rem;font-weight:900}.id-open-hint span{font-size:1rem}.id-account-open:hover .id-open-hint span{transform:translateX(3px)}
.detail-shell{max-width:1180px;margin:0 auto}.detail-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 18px}.detail-back{display:inline-flex;align-items:center;min-height:42px;font-size:.82rem;font-weight:900;text-decoration:none}.detail-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px}.detail-avatar{width:68px;height:68px;display:grid;place-items:center;font-size:1.55rem;font-weight:950}.detail-hero-copy{min-width:0}.detail-badges{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:5px}.detail-badges>span,.detail-badge{padding:4px 8px;font-size:.62rem;font-weight:900}.detail-hero h1{margin:0;font-size:clamp(1.65rem,3vw,2.5rem)}.detail-hero-copy>p{margin:6px 0 0;overflow-wrap:anywhere}.detail-hero-stats{display:flex;gap:9px}.detail-hero-stats>div{min-width:112px;padding:12px 14px;text-align:right}.detail-hero-stats span{display:block;font-size:.67rem}.detail-hero-stats strong{font-size:1.05rem}.detail-hero-stats small{margin-left:3px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.detail-card{min-width:0;padding:19px}.detail-card-wide{grid-column:1/-1}.detail-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px}.detail-card-head span{display:block;font-size:.63rem;font-weight:950}.detail-card-head h2{margin:3px 0 0;font-size:1.08rem}.detail-card-head>strong{font-size:.78rem}.detail-card-head>small{font-size:.69rem}.detail-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.detail-info-grid>div,.detail-info-list>div{min-width:0;padding:11px 12px}.detail-info-grid dt,.detail-info-list dt{font-size:.66rem;margin-bottom:4px}.detail-info-grid dd,.detail-info-list dd{margin:0;font-size:.84rem;font-weight:800;overflow-wrap:anywhere}.detail-info-grid dd small{font-size:.69rem;font-weight:700}.detail-info-list{display:grid;gap:7px;margin:0}.detail-info-list>div{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:start;gap:10px}.detail-info-list dt{margin:1px 0 0}.detail-info-list dd{text-align:right}.mono-value,code{font-size:.74rem}.detail-creator-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.detail-creator-list>div{padding:11px 12px}.detail-creator-list span{display:block;font-size:.66rem}.detail-creator-list strong{display:block;margin-top:3px;font-size:.84rem;overflow-wrap:anywhere}.detail-note-box{margin-top:10px;padding:13px}.detail-note-box span{font-size:.66rem;font-weight:900}.detail-note-box p{margin:6px 0 0;font-size:.82rem;line-height:1.7}.detail-empty-copy{margin:0;font-size:.82rem}.admin-memo-form textarea{display:block;width:100%;min-height:170px;resize:vertical;box-sizing:border-box;padding:14px;font:inherit;line-height:1.65;outline:none}.admin-memo-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.admin-memo-footer p{margin:0;font-size:.69rem}.admin-memo-footer button{padding:10px 16px;font:inherit;font-size:.78rem;font-weight:950}.detail-manage-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-unlock-form{grid-column:1/-1}.detail-visit-list{display:grid;gap:8px}.detail-visit-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 13px}.detail-visit-status{display:flex;align-items:center;gap:7px;font-size:.78rem}.status-dot{width:8px;height:8px}.detail-visit-main{min-width:0}.detail-visit-main span,.detail-visit-main small{display:block;font-size:.66rem}.detail-visit-main strong{display:block;margin:2px 0;font-size:.84rem}.detail-visit-meta{text-align:right}.detail-visit-meta span,.detail-visit-meta small{display:block;font-size:.65rem}.technical-details{padding:0;overflow:hidden}.technical-details summary{display:flex;justify-content:space-between;gap:12px;padding:17px 19px;list-style:none;font-weight:900}.technical-details summary::-webkit-details-marker{display:none}.technical-details summary small{font-size:.68rem;font-weight:700}.technical-details[open] summary{border-bottom:1px solid rgba(255,255,255,.07)}.technical-grid{padding:15px 19px 19px}
@media(max-width:820px){.detail-hero{grid-template-columns:auto minmax(0,1fr)}.detail-hero-stats{grid-column:1/-1}.detail-hero-stats>div{flex:1;text-align:left}.detail-grid{grid-template-columns:1fr}.detail-card-wide{grid-column:auto}.detail-info-grid{grid-template-columns:1fr 1fr}.detail-creator-list{grid-template-columns:1fr 1fr}.detail-manage-grid{grid-template-columns:1fr}.detail-visit-row{grid-template-columns:1fr}.detail-visit-meta{text-align:left;display:flex;justify-content:space-between;gap:8px}.detail-visit-meta span,.detail-visit-meta small{display:inline}}
@media(max-width:560px){.detail-topbar{align-items:stretch;flex-direction:column}.detail-topbar .sm-admin-dashboard-link{width:100%;box-sizing:border-box;text-align:center}.detail-hero{padding:17px;gap:12px}.detail-avatar{width:50px;height:50px;font-size:1.15rem}.detail-hero-stats{display:grid;grid-template-columns:1fr 1fr;width:100%}.detail-hero-stats>div{min-width:0;padding:10px 11px}.detail-card{padding:15px}.detail-info-grid{grid-template-columns:1fr}.detail-info-list>div{grid-template-columns:1fr;gap:3px}.detail-info-list dd{text-align:left}.detail-creator-list{grid-template-columns:1fr}.admin-memo-form textarea{min-height:190px}.admin-memo-footer{align-items:stretch;flex-direction:column}.admin-memo-footer button{width:100%;padding:12px}.technical-details summary{display:block}.technical-details summary small{display:block;margin-top:4px}.detail-visit-meta{display:block}.detail-visit-meta small{margin-top:3px}.id-open-hint{margin-top:9px}}
.id-sponsor-badge{font-size:.62rem;font-weight:950;padding:4px 7px}
.id-sponsor-check{display:flex;grid-template-columns:none;align-items:flex-start;gap:9px;font-size:.78rem}
.id-sponsor-check input{width:19px;height:19px;flex:0 0 19px;margin:0;accent-color:#e2bb68}
.id-sponsor-check span{line-height:1.5}
.id-sponsor-note{margin:9px 0 0;font-size:.67rem;line-height:1.55}
.sponsor-control-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.detail-sponsor-form{margin:0}
.happyentry-current-state{display:grid;align-content:start;gap:6px;padding:15px}
.happyentry-current-state>span{font-size:.65rem;font-weight:950}
.happyentry-current-state>strong{font-size:1rem}
.happyentry-current-state>p{margin:0;font-size:.76rem;line-height:1.55}
.happyentry-current-state>small{font-size:.67rem;line-height:1.55}
.happyentry-current-state dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:4px 0}
.happyentry-current-state dl>div{min-width:0;padding:8px 9px}
.happyentry-current-state dt{font-size:.61rem}
.happyentry-current-state dd{margin:3px 0 0;font-size:.73rem;font-weight:850;overflow-wrap:anywhere}
.happyentry-log-list{display:grid;gap:7px}
.happyentry-log-row{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px}
.happyentry-log-row>div{min-width:0;display:grid;gap:2px}
.happyentry-log-row>div strong{font-size:.8rem;overflow-wrap:anywhere}
.happyentry-log-row>div small{font-size:.64rem;line-height:1.4}
.happyentry-log-action,.happyentry-log-result{width:max-content;padding:4px 7px;font-size:.61rem;font-weight:950}
@media(max-width:820px){.sponsor-control-grid{grid-template-columns:1fr}.happyentry-current-state dl{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.happyentry-current-state dl{grid-template-columns:1fr}.happyentry-log-row{grid-template-columns:auto minmax(0,1fr)}.happyentry-log-result{grid-column:2;justify-self:start}}

}
@layer legacy {
.discord-notify-page{min-height:100vh}.discord-notify-shell{padding-bottom:max(48px,env(safe-area-inset-bottom))}.discord-admin-lead{max-width:780px;line-height:1.75}.discord-flash,.discord-config-alert{margin:0 0 14px;padding:13px 15px;font-size:.82rem;line-height:1.6}.discord-config-alert{display:grid;gap:3px}.discord-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 16px}.discord-stat-grid>div{display:grid;gap:5px;padding:16px}.discord-stat-grid span{font-size:.72rem}.discord-stat-grid strong{font-size:1.55rem}.discord-compose-panel,.discord-channel-panel,.discord-list-panel{margin-bottom:14px}.discord-panel-note,.discord-field small{font-size:.72rem;line-height:1.55}.discord-compose-form,.discord-edit-form{display:grid;gap:14px}.discord-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.discord-field{display:grid;gap:7px;min-width:0}.discord-field>span{font-size:.76rem;font-weight:700}.discord-field input,.discord-field select,.discord-field textarea{width:100%;min-width:0;outline:none;font:inherit}.discord-field input,.discord-field select{min-height:46px;padding:10px 12px}.discord-field textarea{padding:13px;resize:vertical;line-height:1.65}.discord-message-field{gap:8px}.discord-field-foot{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.discord-field-foot span{font-size:.7rem;white-space:nowrap}.discord-mention-box{padding:14px}.discord-mention-head{display:flex;justify-content:space-between;gap:12px;align-items:end;margin-bottom:12px}.discord-mention-head>div{display:grid;gap:3px}.discord-mention-head strong{font-size:.92rem}.discord-mention-head>small{font-size:.7rem}.discord-mention-grid{grid-template-columns:minmax(160px,.55fr) minmax(220px,1fr) minmax(220px,1fr)}.discord-submit{justify-self:start;min-width:180px}.discord-empty-channel,.discord-empty{padding:17px}.discord-empty-channel{display:grid;gap:4px}.discord-collapsible>summary,.discord-notification-card>summary{list-style:none}.discord-collapsible>summary::-webkit-details-marker,.discord-notification-card>summary::-webkit-details-marker{display:none}.discord-collapsible>summary{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:2px 0 14px}.discord-collapsible>summary>div{display:grid;gap:3px}.discord-collapsible>summary strong{font-size:1rem}.discord-collapsible>summary small{font-size:.7rem}.discord-chevron{width:9px;height:9px;border-right:1.5px solid rgba(255,255,255,.55);border-bottom:1.5px solid rgba(255,255,255,.55);transform:rotate(45deg)}.discord-collapsible[open]>summary .discord-chevron,.discord-notification-card[open]>summary .discord-chevron{transform:rotate(225deg)}.discord-collapsible-.native-screen{border-top:1px solid rgba(255,255,255,.07);padding-top:14px}.discord-channel-actions{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:12px;margin-bottom:14px}.discord-channel-actions>form:first-child{display:grid;align-content:start;gap:7px}.discord-channel-actions>form:first-child small{font-size:.7rem}.discord-add-channel-form{display:grid;grid-template-columns:1fr 1.2fr auto;gap:10px;align-items:end}.discord-channel-list{display:grid;gap:8px}.discord-channel-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px 12px}.discord-channel-row>div{display:grid;gap:3px;min-width:0}.discord-channel-row strong{font-size:.84rem;overflow-wrap:anywhere}.discord-channel-row small{font-size:.68rem;overflow-wrap:anywhere}.discord-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 8px;font-size:.65rem;font-weight:700;white-space:nowrap}.discord-notification-list{display:grid;gap:9px}.discord-notification-card{overflow:hidden}.discord-notification-card>summary{display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:12px;align-items:center;padding:13px 14px}.discord-notification-main{display:grid;gap:5px;min-width:0}.discord-notification-topline{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.discord-notification-topline strong{font-size:.86rem}.discord-notification-channel{font-size:.7rem}.discord-notification-main p{margin:0;font-size:.78rem;line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}.discord-notification-details{display:grid;gap:13px;padding:14px;border-top:1px solid rgba(255,255,255,.07)}.discord-edit-form{padding:13px}.discord-error-box{display:grid;gap:5px;padding:12px}.discord-error-box strong{font-size:.75rem}.discord-error-box span{font-size:.72rem;line-height:1.55;overflow-wrap:anywhere}.discord-sent-info{display:grid;grid-template-columns:1fr 1fr;gap:9px}.discord-sent-info>div{display:grid;gap:3px;padding:10px}.discord-sent-info span{font-size:.67rem}.discord-sent-info strong{font-size:.77rem;overflow-wrap:anywhere}.discord-card-actions{display:flex;gap:8px;flex-wrap:wrap}.discord-cron-note{display:grid;gap:4px;padding:13px 15px}.discord-cron-note strong{font-size:.8rem}.discord-cron-note span{font-size:.71rem;line-height:1.55}.cast-primary-button:disabled{opacity:.4}
@media(max-width:900px){.discord-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.discord-mention-grid{grid-template-columns:1fr 1fr}.discord-mention-grid .discord-field:last-child{grid-column:1/-1}.discord-channel-actions{grid-template-columns:1fr}.discord-add-channel-form{grid-template-columns:1fr 1fr auto}}
@media(max-width:680px){.discord-notify-shell{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.discord-admin-lead{font-size:.84rem}.discord-form-grid,.discord-mention-grid,.discord-sent-info{grid-template-columns:1fr}.discord-mention-grid .discord-field:last-child{grid-column:auto}.discord-mention-head{display:grid}.discord-submit{width:100%;min-height:48px}.discord-channel-actions{gap:15px}.discord-add-channel-form{grid-template-columns:1fr}.discord-add-channel-form .button-link{width:100%;min-height:46px}.discord-channel-row{grid-template-columns:minmax(0,1fr) auto}.discord-channel-row .button-link{grid-column:1/-1;width:100%}.discord-notification-card>summary{padding:13px 12px}.discord-notification-details{padding:12px}.discord-edit-form{padding:11px}.discord-card-actions{display:grid;grid-template-columns:1fr 1fr}.discord-card-actions form,.discord-card-actions button{width:100%}.discord-field input,.discord-field select{font-size:16px}.discord-field textarea{font-size:16px}.discord-field-foot{display:grid;gap:4px}.discord-field-foot span{justify-self:end}}
.discord-image-field>span{display:flex;align-items:center;gap:8px}.discord-image-field>span em{font-style:normal;font-size:.64rem;font-weight:600}.discord-field input[type=file]{padding:8px 10px}.discord-field input[type=file]::file-selector-button{margin-right:10px;padding:7px 10px}.discord-image-preview{display:grid;grid-template-columns:minmax(0,220px) auto;gap:10px;align-items:end;margin-top:2px}.discord-image-preview img{display:block;width:100%;max-height:180px;object-fit:cover}.discord-image-preview button{min-height:38px;padding:7px 11px}.discord-remove-image{display:flex;align-items:center;gap:8px;width:max-content;margin-top:3px;font-size:.72rem}.discord-remove-image input{width:16px;min-height:16px;height:16px;margin:0;accent-color:#d8c27a}.discord-existing-image{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center;padding:11px}.discord-existing-image img{display:block;width:120px;height:78px;object-fit:cover}.discord-existing-image>div{display:grid;gap:4px;min-width:0}.discord-existing-image strong{font-size:.76rem;overflow-wrap:anywhere}.discord-existing-image small{font-size:.67rem}
@media(max-width:680px){.discord-image-preview{grid-template-columns:1fr}.discord-image-preview img{max-height:240px}.discord-image-preview button{width:100%}.discord-existing-image{grid-template-columns:88px minmax(0,1fr)}.discord-existing-image img{width:88px;height:64px}}

}
@layer legacy {
.native-screen{
  margin:0;
}

.pwa-install-guide{
  max-width:720px;
  margin:40px auto;
  padding:28px;
}

.pwa-install-guide h2{
  margin-bottom:24px;
  font-size:2rem;
}

.guide-step{
  margin-bottom:14px;
  padding:14px 18px;
  line-height:1.8;
}

.support-button{
  display:inline-flex;
  margin-top:22px;
  padding:14px 24px;
  text-decoration:none;
}

}


/* v2.1.18: unavailable operation targets are disabled and gently dimmed. */
.attraction-empty-card-overlay {
  display: none !important;
}
.attraction-card.is-attraction-empty:not(.attraction-card-locked) {
  opacity: 0.72;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.14) !important;
}
.attraction-card.is-attraction-empty:not(.attraction-card-locked):hover {
  transform: none !important;
}
.attraction-card.is-attraction-empty:not(.attraction-card-locked) .attraction-card-visual {
  filter: grayscale(0.12) saturate(0.82) brightness(0.90) !important;
  transform: none !important;
}
.attraction-card.is-attraction-empty:not(.attraction-card-locked) .attraction-card-shade {
  opacity: 0.88;
}
.attraction-card.is-attraction-empty[disabled] {
  pointer-events: none;
}
.attraction-operation-modal.is-attraction-empty .attraction-modal-body::before {
  content: none !important;
  display: none !important;
}


/* CAST ID management: copyable operational data export */
.admin-cast-export-panel{display:grid;gap:12px}
.admin-cast-export-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.admin-cast-export-head h2{margin:5px 0 0}
.admin-cast-export-copy{width:auto;min-width:170px;flex:0 0 auto}
.admin-cast-export-text{display:block;width:100%;min-height:430px;resize:vertical;box-sizing:border-box;white-space:pre;overflow:auto;line-height:1.65;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:13px}
.admin-cast-export-status{min-height:1.5em;margin:0;font-size:.78rem;font-weight:800}
@media(max-width:780px){.admin-cast-export-head{display:grid;grid-template-columns:1fr}.admin-cast-export-copy{width:100%;min-width:0}.admin-cast-export-text{min-height:460px;font-size:12px}}
