/* Page serveur Minecraft (espace client et démo): presentation only, scripts keep their data hooks. */
.playnest-site .pn-srv { --srv-ink: #202e43; --srv-body: #697485; --srv-muted: #8c96a5; --srv-blue: #3d5ee8; --srv-blue-soft: #edf1fb; --srv-coral: #e98770; --srv-green: #477c72; --srv-line: #e1e3e6; }

/* Hero */
.playnest-site .pn-srv .product-hero { padding: 26px 28px; border: 0; border-radius: 22px; background: radial-gradient(circle at 92% 0%, #3d5ee855, transparent 55%), linear-gradient(150deg, #202e43, #273e7c); color: #fff; box-shadow: 0 25px 60px #202e4326; }
.playnest-site .pn-srv .product-hero .eyebrow { font: 650 10px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: 1.4px; text-transform: uppercase; color: #9eabc0; }
.playnest-site .pn-srv .product-hero h1 { color: #f3f1ed; letter-spacing: -1.4px; }
.playnest-site .pn-srv .product-hero .muted-line { color: #c4cde0; }
.playnest-site .pn-srv .gaming-hero-name-row .button.ghost { background: #ffffff14; border-color: #ffffff33; color: #dfe5f5; }
.playnest-site .pn-srv .gaming-hero-name-row .button.ghost:hover { background: #ffffff26; }
.playnest-site .pn-srv .gaming-rename-form input { background: #ffffff1a; border-color: #ffffff40; color: #fff; border-radius: 10px; }
.playnest-site .pn-srv .product-hero .gaming-copy-address { display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px; border-radius: 999px; border: 1px solid #ffffff2e; background: #ffffff14; color: #fff; font: 600 13px ui-monospace, SFMono-Regular, Consolas, monospace; cursor: pointer; transition: background .2s, border-color .2s; }
.playnest-site .pn-srv .product-hero .gaming-copy-address::after { content: "Copier"; padding: 2px 8px; border-radius: 999px; background: #f0b398; color: #3a302f; font: 750 10px Inter, Arial, sans-serif; }
.playnest-site .pn-srv .product-hero .gaming-copy-address:hover { background: #ffffff26; border-color: #ffffff59; }
.playnest-site .pn-srv .product-hero .gaming-copy-address span { color: #fff; }
.playnest-site .pn-srv .product-hero .gaming-copy-feedback { color: #9fe0c8; font-weight: 700; }
.playnest-site .pn-srv .gaming-hero-status-line > span:first-child { color: #9eabc0; font: 650 10px ui-monospace, monospace; letter-spacing: 1.2px; text-transform: uppercase; }
.playnest-site .pn-srv .product-hero [data-gaming-status-badge] { display: inline-flex; align-items: center; gap: 7px; padding: 6px 13px; border-radius: 999px; border: 0; background: #ffffff1f; color: #fff; font-size: 12px; font-weight: 750; text-transform: none; letter-spacing: 0; }
.playnest-site .pn-srv .product-hero [data-gaming-status-badge]::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #f2b69a; animation: pn-srv-pulse 1.6s ease-in-out infinite; }
.playnest-site .pn-srv .product-hero [data-gaming-status-badge][data-tone="good"] { background: #477c72; }
.playnest-site .pn-srv .product-hero [data-gaming-status-badge][data-tone="good"]::before { background: #9fe0c8; }
.playnest-site .pn-srv .product-hero [data-gaming-status-badge][data-tone="off"]::before { background: #8c96a5; animation: none; }
.playnest-site .pn-srv .product-hero [data-gaming-status-badge][data-tone="alert"] { background: #d0634b; }
.playnest-site .pn-srv .product-hero [data-gaming-status-badge][data-tone="alert"]::before { background: #fff; animation: none; }
.playnest-site .pn-srv .gaming-hero-actions .button { border-radius: 10px; }
.playnest-site .pn-srv .gaming-hero-actions .button.ghost { background: #ffffff14; border-color: #ffffff33; color: #dfe5f5; }
.playnest-site .pn-srv .gaming-hero-actions .button.ghost:hover { background: #ffffff26; color: #fff; }
.playnest-site .pn-srv .gaming-hero-actions .button:not(.ghost) { background: #f0b398; border-color: #f0b398; color: #3a302f; }
.playnest-site .pn-srv .gaming-hero-actions .button:not(.ghost):hover { background: #f6c6b0; border-color: #f6c6b0; }
.playnest-site .pn-srv .gaming-power-note { color: #f2b69a; font-weight: 650; }

/* Address copy inside light panels */
.playnest-site .pn-srv .product-panel .gaming-copy-address { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 6px 12px; border-radius: 999px; border: 1px solid #d6ddf3; background: #f6f8fe; color: #3d5ee8; font: 600 12px ui-monospace, SFMono-Regular, Consolas, monospace; cursor: pointer; overflow-wrap: anywhere; text-align: left; }
.playnest-site .pn-srv .product-panel .gaming-copy-address:hover { background: #edf1fb; }

/* Section tabs */
.playnest-site .pn-srv .product-subtabs { gap: 6px; margin: 12px 0 18px; padding: 6px; border: 1px solid #e1e3e6; border-radius: 14px; background: #fff; box-shadow: 0 8px 30px #202e4309; }
.playnest-site .pn-srv .product-subtabs a { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 9px 14px; border: 0; border-radius: 10px; font-size: 13px; font-weight: 650; color: #657080; text-decoration: none; white-space: nowrap; box-shadow: none; transition: background .2s, color .2s; }
.playnest-site .pn-srv .product-subtabs a:hover { background: #f2f4f8; color: #202e43; }
.playnest-site .pn-srv .product-subtabs a.active { background: #edf1fb; color: #3d5ee8; }
.playnest-site .pn-srv .product-subtabs a.active::after { display: none; }
.playnest-site .pn-srv-tab-icon { min-width: 22px; height: 22px; padding: 0 4px; border-radius: 7px; display: inline-grid; place-items: center; font: 700 11px ui-monospace, SFMono-Regular, Consolas, monospace; background: #f2f4f8; color: #8c96a5; }
.playnest-site .pn-srv .product-subtabs a.active .pn-srv-tab-icon { background: #3d5ee8; color: #fff; }

/* Panels */
.playnest-site .pn-srv .product-panel { padding: 24px; border-radius: 18px; border-color: #e1e3e6; box-shadow: 0 12px 35px #24334a08; }
.playnest-site .pn-srv .product-panel h2 { letter-spacing: -.4px; color: #202e43; }
.playnest-site .pn-srv .notice { border-radius: 14px; }
.playnest-site .pn-srv .button { border-radius: 10px; }
.playnest-site .pn-srv .gaming-guide-shortcut { padding: 7px 12px; border-radius: 999px; background: #edf1fb; color: #3d5ee8; font-size: 12px; font-weight: 700; text-decoration: none; }

/* Definition lists */
.playnest-site .pn-srv .definition-grid { border-color: #eef0f3; border-radius: 14px; }
.playnest-site .pn-srv .definition-grid > div + div { border-top-color: #eef0f3; }
.playnest-site .pn-srv .definition-grid dt { background: #f7f8fb; color: #7c8490; font-size: 13px; font-weight: 650; }
.playnest-site .pn-srv .definition-grid dd { font-size: 14px; font-weight: 700; color: #202e43; }
/* The compact grid rule also hits nested blocks; keep setting controls on one flexible line. */
.playnest-site .pn-srv .definition-grid dd > .gaming-setting-control { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; min-height: 0; }
.playnest-site .pn-srv .definition-grid dd > .gaming-setting-control > .gaming-setting-count { margin-left: auto; flex: 0 0 auto; }
.playnest-site .pn-srv .gaming-setting-count { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 8px; border: 0; background: #edf1fb; color: #3d5ee8; font: 700 12px Inter, Arial, sans-serif; text-decoration: none; cursor: pointer; transition: background .2s; }
.playnest-site .pn-srv .gaming-setting-count:hover { background: #dfe6fb; }
.playnest-site .pn-srv .gaming-player-count-button { color: #3d5ee8; font-weight: 800; }

/* General tab */
.playnest-site .pn-srv .gaming-general-grid { gap: 18px; }
.playnest-site .pn-srv .gaming-general-server-link { padding: 24px; border-radius: 16px; border: 0; background: radial-gradient(circle at 100% 0%, #8198f040, transparent 55%), #edf1fb; }
.playnest-site .pn-srv .gaming-general-server-link h2 { font-size: 20px; }
.playnest-site .pn-srv .gaming-server-website-callout { padding: 24px; border-radius: 16px; border: 0; background: #f0e7df; }
.playnest-site .pn-srv .gaming-server-website-callout .eyebrow { color: #b56a52; }
.playnest-site .pn-srv .gaming-server-website-ideas { border-radius: 12px; overflow: hidden; background: #fff; }
.playnest-site .pn-srv .gaming-server-website-ideas dt { color: #b56a52; }
.playnest-site .pn-srv .gaming-renewal-switch-track { transition: background .2s; }

/* Server tab */
.playnest-site .pn-srv .gaming-server-grid { gap: 18px; }
.playnest-site .pn-srv .gaming-server-card { border-radius: 16px; border-color: #e1e3e6; }
.playnest-site .pn-srv .gaming-info-heading h2 { font-size: 20px; }

/* Console */
.playnest-site .pn-srv [data-gaming-panel="console"] pre, .playnest-site .pn-srv [data-gaming-panel="console"] .console-output { border-radius: 14px; }

/* Upgrade and offer dialogs */
.playnest-site .pn-srv .upgrade-plan-card { border-radius: 14px; }
.playnest-site .pn-srv .upgrade-plan-card.is-current { border-color: #3d5ee8; box-shadow: 0 0 0 4px #3d5ee81a; }

@keyframes pn-srv-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

@media (max-width: 760px) {
    .playnest-site .pn-srv .product-hero { padding: 20px 18px; border-radius: 18px; }
    .playnest-site .pn-srv .product-subtabs { flex-wrap: nowrap; overflow-x: auto; margin-right: 0; scrollbar-width: none; }
    .playnest-site .pn-srv .product-panel { padding: 18px 16px; }
}

/* White-list and banned players dialogs */
.playnest-site .pn-srv .gaming-player-list-modal { backdrop-filter: blur(4px); }
.playnest-site .pn-srv .gaming-player-list-dialog { padding: 0; overflow: hidden; border: 0; border-radius: 22px; background: #fff; box-shadow: 0 40px 90px #0d152447; }
.playnest-site .pn-srv .gaming-player-list-dialog .gaming-history-head { align-items: flex-start; margin: 0; padding: 24px 26px; border: 0; background: radial-gradient(circle at 92% 0%, #3d5ee855, transparent 55%), linear-gradient(150deg, #202e43, #273e7c); color: #fff; }
.playnest-site .pn-srv .gaming-player-list-dialog .gaming-whitelist-title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.playnest-site .pn-srv .gaming-player-list-dialog .gaming-whitelist-title h2 { margin: 0; font-size: 24px; letter-spacing: -.8px; color: #f3f1ed; }
.playnest-site .pn-srv .gaming-player-list-dialog .gaming-guide-shortcut { width: auto; background: #ffffff1f; color: #dfe5f5; }
.playnest-site .pn-srv .gaming-player-list-dialog .gaming-guide-shortcut:hover { background: #ffffff33; color: #fff; }
.playnest-site .pn-srv .gaming-player-list-dialog .gaming-history-head .muted-line { margin: 8px 0 0; font-size: 13px; color: #c4cde0; }
.playnest-site .pn-srv .gaming-player-list-dialog .gaming-history-head .button.ghost { background: #ffffff14; border-color: #ffffff33; color: #dfe5f5; }
.playnest-site .pn-srv .gaming-player-list-dialog .gaming-history-head .button.ghost:hover { background: #ffffff26; color: #fff; }
.playnest-site .pn-srv .gaming-player-list-body { display: grid; gap: 18px; padding: 22px 26px 24px; }
.playnest-site .pn-srv .gaming-player-list-dialog .gaming-whitelist-body, .playnest-site .pn-srv .gaming-player-list-dialog .gaming-whitelist-players { padding: 0; border: 0; background: transparent; box-shadow: none; }
.playnest-site .pn-srv .gaming-player-list-dialog .gaming-whitelist-players > span { display: block; margin-bottom: 12px; font: 650 10px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: 1.4px; text-transform: uppercase; color: #8c96a5; }
.playnest-site .pn-srv .gaming-player-list-dialog [data-whitelist-players], .playnest-site .pn-srv .gaming-player-list-dialog [data-banlist-players] { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.playnest-site .pn-srv .gaming-player-list-dialog [data-whitelist-players] em, .playnest-site .pn-srv .gaming-player-list-dialog [data-banlist-players] em { grid-column: 1 / -1; padding: 18px; border-radius: 14px; border: 1px dashed #d0d6df; text-align: center; font-style: normal; font-size: 13px; color: #8c96a5; }
.playnest-site .pn-srv .gaming-whitelist-player-chip { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 8px 8px 8px 10px; border-radius: 14px; border: 1px solid #e6e9ee; background: #fbfcfd; color: #202e43; font-weight: 700; font-size: 13px; transition: border-color .2s, box-shadow .2s, transform .2s; animation: pn-srv-chip-in .3s ease backwards; }
.playnest-site .pn-srv .gaming-whitelist-player-chip:hover { border-color: #c9d3ef; box-shadow: 0 8px 20px #202e4310; transform: translateY(-1px); }
.playnest-site .pn-srv .gaming-whitelist-player-chip::before { content: attr(data-initial); flex: 0 0 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: #edf1fb; color: #3d5ee8; font-size: 13px; font-weight: 800; }
.playnest-site .pn-srv .gaming-whitelist-player-chip:nth-child(3n+2)::before { background: #fcebe5; color: #d0634b; }
.playnest-site .pn-srv .gaming-whitelist-player-chip:nth-child(3n)::before { background: #e8f2ee; color: #477c72; }
.playnest-site .pn-srv .gaming-whitelist-player-chip > span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.playnest-site .pn-srv .gaming-whitelist-player-chip > button { flex: 0 0 auto; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: transparent; font-size: 0; cursor: pointer; position: relative; transition: background .2s; }
.playnest-site .pn-srv .gaming-whitelist-player-chip > button::before { content: "×"; position: absolute; inset: 0; display: grid; place-items: center; font-size: 18px; font-weight: 600; color: #a3a9b4; }
.playnest-site .pn-srv .gaming-whitelist-player-chip > button:hover { background: #fcebe5; }
.playnest-site .pn-srv .gaming-whitelist-player-chip > button:hover::before { color: #d0634b; }
.playnest-site .pn-srv .gaming-whitelist-player-chip > button:focus-visible { outline: 3px solid #de745d; outline-offset: 2px; }
.playnest-site .pn-srv .gaming-banlist-player-chip { background: #fcf6f3; border-color: #f5ddd2; }
.playnest-site .pn-srv .gaming-banlist-player-chip::before { background: #fcebe5 !important; color: #d0634b !important; }
.playnest-site .pn-srv .gaming-player-list-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px 12px; padding: 18px; border-radius: 16px; background: #f7f8fb; }
.playnest-site .pn-srv .gaming-player-list-form label { display: grid; gap: 8px; margin: 0; font-size: 13px; font-weight: 650; color: #4b5668; }
.playnest-site .pn-srv .gaming-player-list-form input { min-height: 48px; border-radius: 12px; border: 1px solid #d9dee6; background: #fff; font-size: 14px; font-weight: 600; }
.playnest-site .pn-srv .gaming-player-list-form input:focus { border-color: #7c91e9; box-shadow: 0 0 0 4px #3d5ee81c; outline: none; }
.playnest-site .pn-srv .gaming-player-list-form .gaming-file-editor-actions { display: flex; gap: 8px; margin: 0; padding: 0; border: 0; background: transparent; }
.playnest-site .pn-srv .gaming-player-list-form .gaming-file-editor-actions .button { min-height: 48px; }
.playnest-site .pn-srv .gaming-player-list-form .gaming-file-editor-actions .button.ghost { background: #fff; }
.playnest-site .pn-srv .gaming-player-list-form > .muted-line { grid-column: 1 / -1; margin: 0; font-size: 12px; color: #7c8490; }
@keyframes pn-srv-chip-in { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) {
    .playnest-site .pn-srv .gaming-player-list-dialog .gaming-history-head, .playnest-site .pn-srv .gaming-player-list-body { padding-left: 18px; padding-right: 18px; }
    .playnest-site .pn-srv .gaming-player-list-form { grid-template-columns: minmax(0, 1fr); }
    .playnest-site .pn-srv .gaming-player-list-form .gaming-file-editor-actions .button { flex: 1; }
}

/* Hero actions: one tidy row on wide screens instead of wrapped, overlapping buttons. */
.playnest-site .pn-srv .product-hero .gaming-hero-address .gaming-copy-address { margin-left: 0; }
.playnest-site .pn-srv .product-hero .gaming-hero-address { margin-top: 12px; }
@media (min-width: 761px) {
    .playnest-site .pn-srv .product-hero { align-items: center; }
    .playnest-site .pn-srv .gaming-hero-status { min-width: 0; justify-items: end; gap: 14px; }
    .playnest-site .pn-srv .gaming-hero-status-line { grid-template-columns: auto auto; gap: 10px; }
    .playnest-site .pn-srv .gaming-hero-status-line .badge { min-width: 0; }
    .playnest-site .pn-srv .gaming-hero-actions { flex-wrap: nowrap; align-items: stretch; gap: 8px; width: auto; }
    .playnest-site .pn-srv .gaming-hero-actions > .button { width: auto; white-space: nowrap; }
    .playnest-site .pn-srv .gaming-power-actions { flex-wrap: nowrap; gap: 8px; width: auto; }
    .playnest-site .pn-srv .gaming-power-actions form { width: auto; }
    .playnest-site .pn-srv .gaming-hero-actions .button { min-height: 44px; padding: 0 18px; white-space: nowrap; }
}
@media (min-width: 761px) and (max-width: 1080px) {
    .playnest-site .pn-srv .product-hero { flex-direction: column; align-items: stretch; }
    .playnest-site .pn-srv .product-hero .product-actions { justify-content: flex-start; align-items: flex-start; padding-top: 18px; border-top: 1px solid #ffffff1f; }
    .playnest-site .pn-srv .gaming-hero-status { justify-items: start; }
    .playnest-site .pn-srv .gaming-hero-status-line { justify-content: start; }
}
