/* Secret utility pages only. Shared CMS templates and the native castle widget are untouched. */
.secret-pages { display:grid; gap:16px; min-width:0; color:#c6bfae; font:13px/1.6 Lunasima,Arial,sans-serif; }
.secret-pages,.secret-pages * { box-sizing:border-box; }
.secret-pages [hidden] { display:none!important; }
.secret-pages :is(h1,h2,h3,p,ol,ul) { margin:0; }
.secret-pages .fa-solid { font-family:'Font Awesome 6 Free'!important; font-weight:900!important; font-style:normal; }
.secret-pages a { color:#dec68b; text-decoration:none; }
.secret-pages a:hover { color:#f1d18a; }
.secret-pages :is(a,button,input,summary):focus-visible { outline:2px solid #c8ad70; outline-offset:3px; }
.secret-pages .sp-panel { min-width:0; padding:0 7px 7px; background:#121313 url('../images/bg-h-content.jpg') center/100% 100% no-repeat; box-shadow:0 6px 16px #0007; }
.secret-pages .sp-heading { position:relative; display:flex; align-items:center; min-height:46px; margin:0 -7px; padding:9px 24px; background:url('../images/block-title.png') center/100% 100% no-repeat; }
.secret-pages .sp-heading::before,.secret-pages .sp-heading::after { content:''; position:absolute; top:0; bottom:0; width:45px; background:url('../images/block-title-frame.png') left center/auto 100% no-repeat; pointer-events:none; }
.secret-pages .sp-heading::before { left:0; }
.secret-pages .sp-heading::after { right:0; transform:scaleX(-1); }
.secret-pages .sp-heading :is(h1,h2) { color:#ddc48e; font-size:18px; font-weight:400; line-height:1.4; }
.secret-pages .sp-button { display:inline-flex; align-items:center; justify-content:center; min-width:0; min-height:42px; padding:10px 18px; border:0; border-radius:0; background:transparent url('../images/button.png') center/100% 100% no-repeat; color:#f2dfb6; font:inherit; font-size:12px; line-height:1.35; text-align:center; cursor:pointer; text-decoration:none; }
.secret-pages .sp-button:hover { filter:brightness(1.15); color:#fff0cc; }
.secret-pages .sp-button--secondary { background-image:url('../images/button-small.png'); }
.secret-pages .sp-hero { position:relative; isolation:isolate; min-height:198px; display:flex; align-items:center; overflow:hidden; background:#101211 url('../images/mu-scenes/citadel-background.webp') center/cover no-repeat; }
.secret-pages .sp-hero::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#0b0d0ee8,#0b0d0eb8 43%,transparent 83%),linear-gradient(0deg,#0a0d0c85,transparent 50%); }
.secret-pages .sp-hero-art { position:absolute; inset:0; z-index:-2; background-repeat:no-repeat; pointer-events:none; }
.secret-pages .sp-hero--rankings .sp-hero-art { background-image:url('../images/mu-scenes/progression-wizard.png'); background-position:calc(100% + 3px) 6px; background-size:auto 133%; }
.secret-pages .sp-hero--downloads .sp-hero-art { background-image:url('../images/mu-scenes/hero-knight.png'); background-position:right 5%; background-size:auto 158%; }
.secret-pages .sp-hero-copy { width:68%; padding:22px 24px; }
.secret-pages .sp-hero h2,.secret-pages .sp-register-intro h2 { color:#efdfb3; font:700 29px/1.12 Georgia,'Times New Roman',serif; text-shadow:0 2px 3px #000; }
.secret-pages .sp-hero p { margin-top:12px; max-width:300px; color:#bdb9ae; line-height:1.6; font-size:12px; }
.secret-pages .sp-hero--downloads h2 { font-size:26px; }
.secret-pages .sp-hero--downloads .sp-hero-copy { width:75%; padding-right:12px; }
.secret-pages .sp-tabs { display:flex; flex-wrap:wrap; gap:5px; padding:12px 10px 8px; }
.secret-pages .sp-tabs a { display:flex; align-items:center; justify-content:center; flex:1 1 105px; padding:11px 8px; min-height:40px; font-size:12px; line-height:1.3; color:#bfb392; background:#0b0d0dc7; box-shadow:inset 0 0 0 1px #ffffff0c; text-align:center; }
.secret-pages .sp-tabs a[aria-current] { background:url('../images/button-small.png') center/100% 100% no-repeat; color:#f0dfb6; }
.secret-pages .sp-search { display:flex; gap:8px; padding:5px 12px 8px; }
.secret-pages .sp-search-input { display:flex; align-items:center; gap:10px; padding-left:12px; flex:1; min-width:0; background:#090b0bea; border:1px solid #71695675; box-shadow:inset 0 1px 5px #000; }
.secret-pages .sp-search-input i { color:#b49a62; flex-shrink:0; }
.secret-pages input { min-width:0; width:100%; font:inherit; color:#ded7c7; border-radius:0; }
.secret-pages input::placeholder { color:#837f75; opacity:1; }
.secret-pages .sp-search input { border:0; outline-offset:0; min-height:40px; padding:9px 8px 9px 0; background:none; font-size:12px; }
.secret-pages .sp-search .sp-button { min-width:95px; }
.secret-pages .sp-rank-filters { display:flex; gap:12px; align-items:center; padding:0 12px 14px; }
.secret-pages .sp-class-filter { position:relative; flex:1; min-width:0; }
.secret-pages .sp-class-filter summary { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:35px; padding:7px 12px; list-style:none; background:#0b0d0dd9; box-shadow:inset 0 0 0 1px #71695650; cursor:pointer; font-size:12px; color:#d1c5ab; }
.secret-pages .sp-class-filter summary::-webkit-details-marker { display:none; }
.secret-pages .sp-class-filter > div { position:absolute; top:100%; left:0; right:0; z-index:5; padding:5px; max-height:280px; overflow:auto; background:#111414; border:1px solid #625744; box-shadow:0 12px 22px #000b; }
.secret-pages .sp-class-filter a { display:block; padding:7px 10px; font-size:12px; }
.secret-pages .sp-class-filter a:hover,.secret-pages .sp-class-filter a[aria-current] { background:#d7ba6720; }
.secret-pages .sp-sort-note { flex:1; min-width:0; color:#a29b88; font-size:10px; line-height:1.5; }
.secret-pages .sp-subtitle { padding:8px 17px 16px; font-size:20px; color:#dcc391; overflow-wrap:anywhere; }
.secret-pages .sp-rank-table-wrap { padding:0 10px; outline:none; }
.secret-pages .sp-rank-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:12px; line-height:1.4; font-variant-numeric:tabular-nums; }
.secret-pages .sp-rank-table th { padding:12px 5px; font-size:10px; font-weight:400; color:#d8c394; background:#0a0c0cba; text-align:center; overflow-wrap:anywhere; }
.secret-pages .sp-rank-table th:first-child { width:52px; }
.secret-pages .sp-rank-table th:nth-child(2) { width:36%; text-align:left; }
.secret-pages .sp-rank-table:has(.sp-rank-status) th:last-child { width:88px; }
.secret-pages .sp-rank-table td { padding:10px 5px; text-align:center; vertical-align:middle; border-bottom:1px solid #b9a2751a; background:#0a0c0c52; overflow-wrap:anywhere; }
.secret-pages .sp-rank-table tr:nth-child(even) td { background:#ffffff02; }
.secret-pages .sp-rank-table tbody tr:hover td { background:#dbbe7310; }
.secret-pages .sp-rank-table .sp-rank-name { text-align:left; }
.secret-pages .sp-player { display:flex; gap:9px; align-items:center; min-width:0; }
.secret-pages .sp-player > img { flex:0 0 31px; width:31px; height:38px; object-fit:cover; border:1px solid #c9b89435; }
.secret-pages .sp-player > div { min-width:0; }
.secret-pages .sp-player a { color:#dfd1af; }
.secret-pages .sp-player small { display:block; margin-top:3px; font-size:10px; color:#92938b; }
.secret-pages .sp-player small a { color:#b1a993; }
.secret-pages .sp-player .sp-guild-role { color:#af9560; }
.secret-pages .sp-place { display:inline-flex; align-items:center; justify-content:center; width:42px; height:48px; color:#c5b58c; }
.secret-pages .sp-place img { display:block; width:42px; height:48px; object-fit:contain; filter:drop-shadow(0 2px 3px #0008); }
.secret-pages .sp-status { display:inline-flex; gap:5px; align-items:center; font-size:10px; color:#979a94; text-align:left; line-height:1.3; }
.secret-pages .sp-status i { width:7px; height:7px; flex:0 0 7px; background:#797d77; border-radius:50%; }
.secret-pages .sp-status.is-online { color:#a6be77; }
.secret-pages .sp-status.is-online i { background:#98b962; }
.secret-pages .sp-empty { padding:38px 24px; text-align:center; color:#c2b79d; }
.secret-pages .sp-empty > i { display:block; font-size:28px; color:#9f8a5e; margin-bottom:14px; }
.secret-pages .sp-empty small { display:block; margin-top:10px; color:#9c998f; }
.secret-pages .sp-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:16px 13px; }
.secret-pages .sp-pagination > div { display:flex; flex-wrap:wrap; gap:5px; align-items:center; }
.secret-pages .sp-pagination button { min-width:30px; height:32px; padding:5px 7px; font:inherit; font-size:11px; background:#0e1010; border:1px solid #b5a47832; color:#b9b09d; cursor:pointer; }
.secret-pages .sp-pagination button[aria-current] { color:#e9cf91; border-color:#a58b4c; background:#99854a20; }
.secret-pages .sp-pagination button:disabled { opacity:.35; cursor:default; }
.secret-pages .sp-pagination p { font-size:10px; color:#aaa08b; }
.secret-pages .sp-rank-note { display:flex; gap:9px; align-items:center; padding:16px; color:#a99974; font-size:11px; }
.secret-pages .sp-rank-note i { color:#ba9d59; font-size:16px; }
.secret-pages .sp-register-scene { position:relative; isolation:isolate; overflow:hidden; padding:27px 23px 18px; background:#0d1010 url('../images/mu-scenes/journey-background.webp') 65% center/auto 100% no-repeat; }
.secret-pages .sp-register-scene::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#0b0f10f5 0%,#0b0f10db 52%,#0b0f1033 85%),linear-gradient(0deg,#0c1112d9,transparent 35%,#0b0f1066); pointer-events:none; }
.secret-pages .sp-register-art { position:absolute; inset:0; z-index:-2; background:url('../images/mu-scenes/quest-elf.png') 95px -45px/auto 800px no-repeat; pointer-events:none; }
.secret-pages .sp-register-intro { position:relative; margin-bottom:26px; }
.secret-pages .sp-register-intro h2 { max-width:390px; font-size:30px; }
.secret-pages .sp-register-intro p { margin-top:12px; color:#c0bcb0; font-size:12px; max-width:450px; }
.secret-pages .sp-register-form { position:relative; width:61%; }
.secret-pages .sp-field { margin-bottom:19px; }
.secret-pages .sp-field label { display:block; margin-bottom:6px; color:#e0d7c0; font-size:12px; }
.secret-pages .sp-input-wrap { position:relative; }
.secret-pages .sp-field input { display:block; min-height:42px; padding:10px 12px; border:1px solid #7871609e; background:#0a0e10e8; box-shadow:inset 0 1px 6px #000; font-size:12px; }
.secret-pages .sp-input-wrap:has(.sp-password-toggle:not([hidden])) input { padding-right:44px; }
.secret-pages .sp-field small { display:block; margin-top:6px; font-size:10px; line-height:1.45; color:#a6a496; }
.secret-pages .sp-password-toggle { position:absolute; right:1px; top:1px; bottom:1px; width:40px; border:0; background:none; color:#9f9c8f; cursor:pointer; }
.secret-pages .sp-password-toggle:hover { color:#e4c88e; }
.secret-pages .sp-register-rules { margin:23px 0 15px; font-size:11px; line-height:1.65; }
.secret-pages :is(.sp-register-rules,.sp-existing) a { color:#d3b370; text-decoration:underline; text-underline-offset:3px; }
.secret-pages .sp-register-submit { width:100%; min-height:48px; text-transform:uppercase; letter-spacing:.5px; }
.secret-pages .sp-existing { margin-top:14px; text-align:center; font-size:11px; }
.secret-pages .sp-safety { display:flex; align-items:center; gap:18px; padding:22px 25px; }
.secret-pages .sp-safety-art { flex:0 0 64px; width:64px; height:72px; object-fit:contain; filter:drop-shadow(0 3px 4px #0008); }
.secret-pages .sp-safety h2 { color:#dcc28c; font:400 20px/1.4 Georgia,serif; }
.secret-pages .sp-safety p { margin-top:6px; font-size:11px; color:#a39f92; }
.secret-pages .sp-download-list { padding:0 14px; }
.secret-pages .sp-download-row { display:grid; grid-template-columns:88px minmax(0,1fr) 170px; gap:14px; align-items:center; min-height:125px; padding:16px 0; border-bottom:1px solid #d7ba7b20; }
.secret-pages .sp-download-row:last-child { border:0; }
.secret-pages .sp-download-icon { display:grid; place-items:center; color:#c8aa66; font-size:36px; text-shadow:0 3px 7px #000; }
.secret-pages .sp-download-icon img { display:block; width:88px; height:88px; max-width:100%; object-fit:contain; filter:drop-shadow(0 4px 5px #0008); }
.secret-pages .sp-download-description h2 { font-size:17px; line-height:1.35; font-weight:400; color:#e3d0a1; overflow-wrap:anywhere; }
.secret-pages .sp-download-description p { margin-top:7px; color:#a8a59a; font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.secret-pages .sp-download-description small { color:#8f897a; font-size:10px; }
.secret-pages .sp-download-row .sp-button { min-height:48px; padding:10px 12px; font-size:11px; text-transform:uppercase; overflow-wrap:anywhere; }
.secret-pages .sp-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; list-style:none; padding:22px 18px; }
.secret-pages .sp-steps li { display:flex; gap:9px; align-items:flex-start; min-width:0; }
.secret-pages .sp-steps li > span { font:24px/1.2 Georgia,serif; color:#b79858; }
.secret-pages .sp-steps strong,.secret-pages .sp-steps a { display:block; font-size:11px; line-height:1.4; font-weight:400; color:#e2cc98; }
.secret-pages .sp-steps p { margin-top:6px; font-size:10px; line-height:1.5; color:#97988f; }
.secret-pages .sp-components { padding:14px 18px; }
.secret-pages .sp-components > p { font-size:11px; color:#aaa699; }
.secret-pages .sp-component-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:16px; }
.secret-pages .sp-component-links a { display:flex; align-items:center; gap:13px; padding:10px 13px; min-height:48px; font-size:12px; color:#c6c3b7; background:#0b0d0d99; box-shadow:inset 0 0 0 1px #d2cdb21e; }
.secret-pages .sp-component-links a:hover { background:#181c1c; }
.secret-pages .sp-component-links img { flex-shrink:0; width:29px; height:29px; object-fit:contain; }
.secret-pages .sp-component-links a span:last-child { margin-left:auto; color:#c4bda8; }
.secret-pages .sp-drivers { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:17px; margin-top:20px; padding-top:16px; border-top:1px solid #c6ad7f22; font-size:11px; }
.secret-pages .sp-drivers a { display:flex; align-items:center; }
.secret-pages .sp-drivers img { display:block; width:58px; height:26px; object-fit:contain; }
.secret-pages .sp-components .sp-manufacturers { text-align:center; margin:10px 0 2px; color:#8d8b83; font-size:10px; }
.secret-pages .sp-install-help { display:flex; flex-wrap:wrap; align-items:center; gap:15px; margin:0 18px; padding:17px 0; border-top:1px solid #c6ad7f22; font-size:12px; }
.secret-pages .sp-install-help i { font-size:27px; color:#c4a76c; }
.secret-pages .sp-install-help a { margin-left:auto; color:#dabc7b; white-space:nowrap; }
@media (max-width:1000px) and (min-width:801px) {
    .secret-pages .sp-hero-copy { width:75%; padding:20px 16px; }
    .secret-pages .sp-hero h2 { font-size:25px; }
    .secret-pages .sp-register-form { width:72%; }
    .secret-pages .sp-register-art { opacity:.55; right:-280px; }
    .secret-pages .sp-download-row { grid-template-columns:70px minmax(0,1fr); }
    .secret-pages .sp-download-row .sp-button { grid-column:2; justify-self:start; }
    .secret-pages .sp-steps { gap:12px; padding:18px 10px; }
    .secret-pages .sp-steps li { flex-direction:column; }
}
@media (max-width:800px) {
    .secret-theme.secret-utility-page .header { height:auto; min-height:40px; max-height:none; }
    .secret-utility-page .header-content { padding:4px 10px; gap:6px; flex-wrap:wrap; justify-content:space-between; }
    .secret-utility-page .header-content .left-content { height:auto; }
    .secret-utility-page .header-content .right-content { max-width:100%; margin:0; }
    .secret-utility-page .header-buttons { justify-content:center; flex-wrap:wrap; gap:8px; }
    .secret-utility-page .header-buttons .reg-btn { font-size:10px; }
    .secret-utility-page .header .btn-sm { min-width:64px; width:auto; padding-inline:12px; font-size:10px; }
    .secret-utility-page .header .axe,.secret-utility-page .header .total-online { display:none; }
    .secret-utility-page .header .server-online { margin:0; }
    .secret-utility-page .header .server-dropdown-panel { left:0; width:min(300px,calc(100vw - 20px)); }
    .secret-utility-page .main-nav .nav-frame { display:none; }
}
@media (max-width:540px), (min-width:801px) and (max-width:1000px) {
    .secret-pages .sp-rank-table thead { display:none; }
    .secret-pages .sp-rank-table,.secret-pages .sp-rank-table tbody { display:block; }
    .secret-pages .sp-rank-table tr { display:grid; grid-template-columns:52px repeat(3,minmax(0,1fr)); margin-bottom:8px; padding:12px 7px; background:#0b0e0dbf; box-shadow:inset 0 -1px 0 #ccb78025; }
    .secret-pages .sp-rank-table td { display:block; border:0; padding:5px; background:none!important; font-size:13px; }
    .secret-pages .sp-rank-table td[data-label]::before { content:attr(data-label); display:block; margin-bottom:5px; font-size:9px; color:#968e78; }
    .secret-pages .sp-rank-table .sp-rank-place { grid-column:1; grid-row:1; align-self:center; }
    .secret-pages .sp-rank-place::before { display:none!important; }
    .secret-pages .sp-rank-table .sp-rank-name { grid-column:2/-1; grid-row:1; }
    .secret-pages .sp-rank-table .sp-rank-name + td { grid-column:2; }
    .secret-pages .sp-rank-table .sp-rank-status { grid-column:2/-1; text-align:left; }
    .secret-pages .sp-rank-table .sp-rank-status::before { display:none; }
    .secret-pages .sp-player { gap:11px; }
    .secret-pages .sp-player small { font-size:11px; }
}
@media (max-width:540px) {
    .secret-pages .sp-heading { padding:9px 18px; }
    .secret-pages .sp-heading :is(h1,h2) { font-size:16px; }
    .secret-pages .sp-hero { min-height:192px; }
    .secret-pages .sp-hero-copy { width:80%; padding:22px 17px; }
    .secret-pages .sp-hero h2 { font-size:24px; }
    .secret-pages .sp-hero p { font-size:11px; }
    .secret-pages .sp-hero::after { background:linear-gradient(90deg,#080d0de8,#0b0d0eb0 65%,#0b0d0e22); }
    .secret-pages .sp-hero-art { opacity:.7; }
    .secret-pages .sp-tabs { gap:4px; padding-inline:5px; }
    .secret-pages .sp-tabs a { flex-basis:40%; font-size:11px; }
    .secret-pages .sp-search { padding-inline:5px; gap:5px; }
    .secret-pages .sp-search .sp-button { min-width:66px; padding:8px 10px; font-size:11px; }
    .secret-pages .sp-search-input { padding-left:8px; gap:6px; }
    .secret-pages .sp-search input { font-size:11px; }
    .secret-pages .sp-rank-filters { flex-wrap:wrap; padding-inline:5px; gap:7px; }
    .secret-pages .sp-sort-note { flex-basis:100%; }
    .secret-pages .sp-rank-table-wrap { padding:0 3px; }
    .secret-pages .sp-register-scene { padding:24px 16px 20px; }
    .secret-pages .sp-register-intro { padding-right:50px; min-height:125px; }
    .secret-pages .sp-register-intro h2 { font-size:25px; }
    .secret-pages .sp-register-intro p { font-size:11px; }
    .secret-pages .sp-register-art { inset:0 -95px auto 0; height:210px; background-size:auto 140%; background-position:right top; opacity:.6; }
    .secret-pages .sp-register-scene::after { background:linear-gradient(0deg,#0d1313f5 65%,#0c111355); }
    .secret-pages .sp-register-form { width:100%; }
    .secret-pages .sp-field input { font-size:16px; }
    .secret-pages .sp-safety { padding:18px 16px; gap:12px; }
    .secret-pages .sp-safety h2 { font-size:18px; }
    .secret-pages .sp-safety-art { flex-basis:50px; width:50px; height:58px; }
    .secret-pages .sp-download-list { padding-inline:12px; }
    .secret-pages .sp-download-row { grid-template-columns:62px minmax(0,1fr); gap:10px; padding:20px 0; }
    .secret-pages .sp-download-icon { font-size:28px; }
    .secret-pages .sp-download-icon img { width:62px; height:62px; }
    .secret-pages .sp-download-row .sp-button { grid-column:2; width:100%; }
    .secret-pages .sp-download-description h2 { font-size:16px; }
    .secret-pages .sp-steps { grid-template-columns:1fr; gap:17px; padding:20px 16px; }
    .secret-pages .sp-steps li { gap:16px; }
    .secret-pages .sp-steps strong,.secret-pages .sp-steps a { font-size:13px; }
    .secret-pages .sp-steps p { font-size:11px; }
    .secret-pages .sp-components { padding:16px 10px; }
    .secret-pages .sp-component-links { grid-template-columns:1fr; }
    .secret-pages .sp-drivers { gap:13px; }
    .secret-pages .sp-drivers > span { width:100%; text-align:center; }
    .secret-pages .sp-install-help { margin-inline:12px; gap:10px; font-size:11px; }
}
