:root { color-scheme: light; --canvas:#f6f1e9; --surface:#fffdf8; --ink:#142536; --muted:#66737d; --line:#d9d3ca; --coral:#ef5b4c; --coral-dark:#bf3f37; --navy:#183044; --mint:#d9eee8; --success:#24735c; --danger:#a63d39; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; font-synthesis:none; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { min-width:320px; min-height:100vh; margin:0; background:linear-gradient(120deg,rgba(239,91,76,.07),transparent 32rem),var(--canvas); color:var(--ink); } a { color:inherit; } button,input,select,textarea { font:inherit; }
.site-header { position:sticky; z-index:10; top:0; display:flex; align-items:center; justify-content:space-between; width:min(82rem,calc(100% - 3rem)); min-height:5.25rem; margin:auto; border-bottom:1px solid var(--line); background:rgba(246,241,233,.94); backdrop-filter:blur(12px); }.brand { display:flex; align-items:center; gap:.7rem; color:var(--ink); font-weight:900; letter-spacing:.08em; text-decoration:none; }.brand span { display:grid; width:2.2rem; aspect-ratio:1; place-items:center; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); background:var(--coral); color:#fff; font-size:1.2rem; }.site-header nav { display:flex; align-items:center; gap:1.25rem; color:#435360; font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }.site-header nav a { text-decoration:none; }.site-header nav a:hover,.site-header nav a:focus-visible { color:var(--coral-dark); }.nav-group { position:relative; }.nav-group summary { cursor:pointer; list-style:none; }.nav-group summary::-webkit-details-marker { display:none; }.nav-group summary::after { margin-left:.35rem; content:"▾"; }.nav-group[open] summary::after { content:"▴"; }.nav-group div { position:absolute; top:calc(100% + .75rem); right:0; display:grid; min-width:9rem; padding:.5rem; border:1px solid var(--line); background:var(--surface); box-shadow:0 .75rem 2rem rgba(20,37,54,.12); }.nav-group div a { padding:.55rem .65rem; white-space:nowrap; }
main,footer { width:min(76rem,calc(100% - 3rem)); margin-inline:auto; } footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:2.25rem 0 3rem; border-top:1px solid var(--line); color:var(--muted); font-size:.85rem; }h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; font-weight:500; letter-spacing:.015em; }h1 { margin-bottom:1rem; font-size:clamp(3.4rem,9vw,7.8rem); line-height:.83; text-transform:uppercase; }h2 { font-size:clamp(1.65rem,3vw,2.45rem); line-height:.95; text-transform:uppercase; }.eyebrow { margin:0 0 .8rem; color:var(--coral-dark); font-size:.74rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.hero { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(16rem,.95fr); min-height:37rem; align-items:center; overflow:hidden; gap:2rem; padding:4.75rem clamp(1.5rem,5vw,5rem); background:var(--surface); }.hero::before { position:absolute; inset:0 0 0 57%; background:linear-gradient(135deg,var(--mint),#bdd8d2); clip-path:polygon(18% 0,100% 0,100% 100%,0 100%); content:""; }.hero-copy { max-width:38rem; margin-bottom:1.7rem; color:var(--muted); font-size:clamp(1rem,2vw,1.2rem); line-height:1.65; }.hero-content,.hero-art { position:relative; z-index:1; }.hero-actions,.page-actions { display:flex; flex-wrap:wrap; gap:.75rem; }.button { display:inline-flex; align-items:center; justify-content:center; min-height:2.9rem; padding:.75rem 1.05rem; border:1px solid var(--coral); background:var(--coral); color:#fff; font-size:.78rem; font-weight:900; letter-spacing:.06em; text-decoration:none; text-transform:uppercase; cursor:pointer; transition:transform .15s,background .15s; }.button:hover,.button:focus-visible { background:var(--coral-dark); transform:translate(-2px,-2px); }.button.secondary { border-color:var(--ink); background:transparent; color:var(--ink); }.button.secondary:hover,.button.secondary:focus-visible { background:var(--ink); color:#fff; }.hero-art { align-self:end; min-height:29rem; }.hero-art img { position:absolute; right:-2rem; bottom:-4rem; width:min(100%,34rem); max-height:35rem; object-fit:contain; object-position:bottom; filter:drop-shadow(1rem 1.2rem 0 rgba(24,48,68,.13)); }.hero-stamp { position:absolute; top:2rem; right:1.5rem; color:rgba(24,48,68,.18); font-size:.7rem; font-weight:900; letter-spacing:.16em; writing-mode:vertical-rl; }.home-sections { padding:1.5rem 0 4.5rem; }
.panel { margin-bottom:1.5rem; padding:clamp(1.25rem,3vw,2rem); border:1px solid var(--line); background:var(--surface); box-shadow:0 .75rem 2rem rgba(20,37,54,.035); }.section-heading,.page-heading { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.5rem; }.section-heading time { color:var(--muted); font-size:.8rem; }.status-grid,.metrics-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }.metrics-grid { grid-template-columns:repeat(4,1fr); }.status-card,.metric-card { min-height:7.2rem; padding:1.2rem; border-left:3px solid var(--line); background:#f9f6f0; }.status-card { display:flex; align-items:center; gap:.8rem; }.status-card h3 { margin-bottom:.25rem; font-family:inherit; font-size:.95rem; font-weight:800; letter-spacing:0; text-transform:none; }.status-card p,.metric-card span { margin:0; color:var(--muted); font-size:.84rem; }.status-dot { width:.7rem; height:.7rem; flex:none; border-radius:50%; background:var(--danger); }.status-dot.online { background:var(--success); box-shadow:0 0 0 .28rem rgba(36,115,92,.12); }.metric-card { border-left-color:var(--coral); }.metric-card strong { display:block; margin-bottom:.35rem; font-size:2.1rem; }
.server-info-intro { border-left:4px solid var(--coral); }.server-info-intro h2 { margin-bottom:.6rem; }.server-info-intro p { max-width:48rem; margin:0; color:var(--muted); line-height:1.7; }
.home-links { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:1.5rem; }.home-link { position:relative; min-height:12rem; padding:1.5rem; overflow:hidden; background:var(--navy); color:#fff; text-decoration:none; }.home-link::after { position:absolute; right:-1rem; bottom:-2rem; color:rgba(255,255,255,.1); font-family:Impact,sans-serif; font-size:8rem; content:attr(data-index); }.home-link:nth-child(2) { background:var(--coral); }.home-link:nth-child(3) { background:#75644e; }.home-link p { position:relative; z-index:1; margin:0; color:rgba(255,255,255,.8); }.home-link h2 { position:relative; z-index:1; margin-bottom:.6rem; }.world-panel { position:relative; min-height:15rem; overflow:hidden; padding:2rem; background:linear-gradient(90deg,rgba(20,37,54,.92),rgba(20,37,54,.35)),url('/static/img/ro/prontera.jpg') center/cover; color:#fff; }.world-panel p { max-width:34rem; margin-bottom:0; color:rgba(255,255,255,.82); line-height:1.6; }.world-panel .eyebrow { color:#f5ad9f; }
.error-page,.listing-page,.player-page { min-height:68vh; padding:4.5rem 0; }.error-page { max-width:48rem; }.error-code { color:var(--coral); font-weight:900; }.listing-page h1,.player-page h1 { font-size:clamp(3rem,7vw,5.7rem); }.listing-copy,.muted,.form-footer { color:var(--muted); line-height:1.6; }.auth-page { display:grid; min-height:75vh; place-items:center; padding:4rem 0; }.auth-card { width:min(32rem,100%); padding:clamp(1.5rem,5vw,2.75rem); border:1px solid var(--line); border-top:5px solid var(--coral); background:var(--surface); box-shadow:1rem 1rem 0 rgba(24,48,68,.08); }.auth-card h1 { font-size:clamp(2.8rem,8vw,4.7rem); }.auth-card form,.admin-form-panel form { display:grid; gap:1rem; margin-top:2rem; }.auth-card label,.admin-search label,.admin-form-panel label,.admin-log-filter label { display:grid; gap:.45rem; color:var(--ink); font-size:.85rem; font-weight:800; }.auth-card input,.auth-card select,.admin-search input,.admin-form-panel input,.admin-form-panel select,.admin-form-panel textarea,.admin-log-filter input { width:100%; padding:.78rem .85rem; border:1px solid var(--line); border-radius:0; background:#fffefa; color:var(--ink); outline:none; }input:focus,select:focus,textarea:focus { border-color:var(--coral); box-shadow:0 0 0 3px rgba(239,91,76,.17); }.auth-card button,.admin-search button,.admin-form-panel button,.admin-log-filter button { padding:.82rem 1rem; border:1px solid var(--coral); border-radius:0; background:var(--coral); color:#fff; font-weight:900; cursor:pointer; }.form-message,.success-message { margin-bottom:1.25rem; padding:.9rem 1rem; border-left:4px solid var(--danger); background:#fce9e6; color:#80332f; }.success-message { border-color:var(--success); background:#e5f4ee; color:#225c4b; }.warning-copy { margin-top:1rem; color:#8f5a19; font-size:.85rem; }
.detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; padding:0; overflow:hidden; background:var(--line); }.detail-grid div { padding:1.35rem; background:var(--surface); }.detail-grid span { display:block; margin-bottom:.4rem; color:var(--muted); font-size:.78rem; font-weight:700; text-transform:uppercase; }.detail-grid strong { font-size:1.05rem; overflow-wrap:anywhere; }.character-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }.character-card { display:flex; align-items:center; gap:1rem; padding:1.25rem; border:1px solid var(--line); border-bottom:4px solid var(--ink); background:var(--surface); text-decoration:none; transition:transform .15s,border-color .15s; }.character-card:hover { border-bottom-color:var(--coral); transform:translateY(-3px); }.character-card-copy { min-width:0; }.character-card-copy>div { display:flex; align-items:center; gap:.75rem; }.character-card p,.character-card-copy>span,.empty-state p { margin:.75rem 0 0; color:var(--muted); }.character-sprite { width:128px; height:160px; flex:none; object-fit:contain; image-rendering:pixelated; background:#f4efe6; }.character-sprite-large { width:192px; height:240px; }.character-detail-heading { display:flex; align-items:center; gap:2rem; }.character-detail-heading .page-heading { flex:1; }.availability { padding:.45rem .7rem; background:#fce9e6; color:var(--danger); font-size:.8rem; font-weight:900; }.availability.online { background:#e5f4ee; color:var(--success); }.back-link { display:inline-block; margin-bottom:2rem; color:var(--navy); font-weight:800; text-decoration:none; }.danger-button { padding:.8rem 1rem; border:1px solid var(--danger); background:#fff4f2; color:var(--danger); font-weight:800; cursor:pointer; }
.ranking-tabs { display:flex; flex-wrap:nowrap; width:100%; overflow-x:auto; padding:.25rem; border:1px solid var(--line); background:#f4efe6; scrollbar-width:thin; }.ranking-tabs a { flex:1 0 auto; padding:.55rem .7rem; color:var(--muted); font-size:.72rem; font-weight:900; text-align:center; text-decoration:none; white-space:nowrap; }.ranking-tabs a.active { background:var(--navy); color:#fff; }.page-heading .ranking-tabs { width:min(100%,38rem); }.page-heading + .ranking-tabs { margin:-.5rem 0 1.5rem; width:min(100%,24rem); }.ranking-panel { padding:0; overflow:hidden; }.guild-emblem { display:block; width:24px; height:24px; object-fit:contain; image-rendering:auto; }.guild-emblem-empty { display:grid; place-items:center; color:var(--muted); font-weight:800; }.guild-emblem-detail { width:64px; height:64px; }.table-scroll { overflow-x:auto; }table { width:100%; border-collapse:collapse; text-align:left; }th,td { padding:1rem 1.2rem; border-bottom:1px solid var(--line); white-space:nowrap; }th { color:var(--muted); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }td { color:#30404d; font-size:.9rem; }tbody tr:hover { background:#faf0eb; }.empty-cell { padding:3rem; text-align:center; color:var(--muted); }.pagination { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.2rem; }.pagination a,.pagination span { min-width:5rem; color:var(--coral-dark); font-weight:800; text-decoration:none; }.pagination span { color:#9ba4a6; }.pagination strong { color:var(--muted); font-size:.82rem; }
.admin-capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-bottom:1.5rem; }.admin-capability { padding:1.4rem; border:1px solid #e7cac6; border-top:4px solid var(--danger); background:#fff8f6; }.admin-capability.allowed { border-color:#badbd0; border-top-color:var(--success); background:#f4fbf8; }.admin-capability div { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.admin-capability h2,.admin-notice h2 { font-size:1.2rem; }.admin-capability span { color:var(--danger); font-size:.75rem; font-weight:900; }.admin-capability.allowed span { color:var(--success); }.admin-capability p,.admin-notice p { margin:.9rem 0 0; color:var(--muted); line-height:1.6; }.admin-search { margin-bottom:1.5rem; }.admin-search>div { display:flex; gap:.6rem; margin-top:.45rem; }.admin-form-panel textarea { min-height:6rem; resize:vertical; }.admin-log-tabs { width:fit-content; margin-bottom:1rem; }.admin-log-filter { display:grid; grid-template-columns:repeat(4,minmax(8rem,1fr)) auto; align-items:end; gap:.75rem; margin-bottom:1.5rem; }td code { color:var(--coral-dark); }.selfservice-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }.catalog-heading { padding:1.2rem 1.2rem 0; }.catalog-heading h2 { font-size:1.1rem; }.capture-view { text-align:center; }.capture-view img { max-width:100%; max-height:75vh; object-fit:contain; }.article-body { line-height:1.75; white-space:pre-wrap; }
@media (max-width:900px) { .site-header nav { gap:.75rem; font-size:.7rem; }.home-links { grid-template-columns:1fr 1fr; }.home-link:last-child { grid-column:span 2; } }@media (max-width:760px) { .site-header { width:calc(100% - 2rem); min-height:4.6rem; }.site-header nav { display:none; }main,footer { width:calc(100% - 2rem); }.hero { grid-template-columns:1fr; min-height:auto; padding:3.2rem 1.5rem 0; }.hero::before { inset:50% 0 0; clip-path:none; }.hero-art { min-height:20rem; }.hero-art img { right:50%; width:22rem; transform:translateX(50%); }.status-grid,.metrics-grid { grid-template-columns:1fr 1fr; }.home-links { grid-template-columns:1fr; }.home-link:last-child { grid-column:auto; }.page-heading,.section-heading { align-items:flex-start; flex-direction:column; }.detail-grid { grid-template-columns:1fr 1fr; }.character-grid,.selfservice-grid { grid-template-columns:1fr; }.character-detail-heading { align-items:flex-start; flex-direction:column; }.admin-capability-grid,.admin-log-filter { grid-template-columns:1fr; } }@media (max-width:480px) { h1 { font-size:clamp(3rem,16vw,4.8rem); }.status-grid,.metrics-grid,.detail-grid { grid-template-columns:1fr; }.character-card { align-items:flex-start; flex-direction:column; }.character-sprite { align-self:center; }.world-panel { padding:1.5rem; }.pagination { gap:.5rem; }.pagination a,.pagination span { min-width:auto; } }@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } }
.monster-sprite {
  display: block;
  object-fit: contain;
  image-rendering: pixelated;
}

.monster-sprite-list {
  width: 72px;
  height: 72px;
}

.monster-heading {
  align-items: center;
}

.monster-sprite-detail {
  width: 192px;
  height: 192px;
  flex: 0 0 192px;
}

.confirmation-dialog { width:min(34rem,calc(100% - 2rem)); padding:0; border:0; background:transparent; color:var(--ink); }
.confirmation-dialog::backdrop { background:rgba(20,37,54,.58); }
.dialog-card { display:grid; gap:1rem; padding:2rem; border-top:5px solid var(--coral); background:var(--surface); box-shadow:1rem 1rem 0 rgba(20,37,54,.18); }
.dialog-card h2 { margin:0; }
.dialog-card p { margin:0; color:var(--muted); line-height:1.6; }
.wiki-search { margin-bottom:2rem; }.wiki-search label { display:block; margin-bottom:.45rem; color:var(--ink); font-size:.85rem; font-weight:800; }.wiki-search>div { display:flex; gap:.6rem; }.wiki-search input { width:100%; padding:.9rem 1rem; border:1px solid var(--line); background:#fffefa; color:var(--ink); }.wiki-search button { padding:.9rem 1.4rem; border:1px solid var(--coral); background:var(--coral); color:#fff; font-weight:900; cursor:pointer; }.wiki-category-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }.wiki-category-card,.wiki-article-card { border:1px solid var(--line); background:var(--surface); color:var(--ink); text-decoration:none; }.wiki-category-card { min-height:13rem; padding:1.5rem; border-top:4px solid var(--coral); }.wiki-category-card span { color:var(--muted); font-size:.75rem; font-weight:900; text-transform:uppercase; }.wiki-category-card h2 { margin:.7rem 0; }.wiki-category-card p,.wiki-article-card p { margin:0; color:var(--muted); line-height:1.6; }.wiki-article-list { display:grid; gap:.75rem; }.wiki-article-card { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.3rem 1.5rem; }.wiki-article-card h2 { margin:.2rem 0 .5rem; font-size:1.35rem; }.wiki-article-card>span { color:var(--coral); font-size:1.7rem; }.wiki-breadcrumbs { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:2rem; color:var(--muted); font-size:.82rem; }.wiki-breadcrumbs a { color:var(--coral-dark); }.wiki-article-layout { display:grid; grid-template-columns:minmax(0,1fr) 18rem; align-items:start; gap:1.5rem; }.wiki-prose { min-width:0; }.wiki-prose header { margin-bottom:2.3rem; border-bottom:1px solid var(--line); }.wiki-prose h1 { font-size:clamp(2.7rem,6vw,4.8rem); overflow-wrap:anywhere; }.wiki-prose h2 { margin:2.2rem 0 .8rem; scroll-margin-top:6.5rem; }.wiki-prose h3 { margin:1.7rem 0 .7rem; scroll-margin-top:6.5rem; }.wiki-prose p,.wiki-prose li { line-height:1.75; }.wiki-prose pre { padding:1rem; overflow:auto; background:var(--navy); color:#fff; }.wiki-prose code { overflow-wrap:anywhere; }.wiki-sidebar { position:sticky; top:6.5rem; }.wiki-sidebar .panel { padding:1.2rem; }.wiki-sidebar h2 { font-size:1rem; }.wiki-toc ol { display:grid; gap:.55rem; padding:0; list-style:none; }.wiki-toc li.nested { padding-left:1rem; }.wiki-toc a,.wiki-related a { color:var(--muted); font-size:.85rem; text-decoration:none; }.wiki-related { display:grid; gap:.7rem; }.wiki-result-count { color:var(--muted); font-weight:800; }
@media (max-width:760px) { .wiki-category-grid,.wiki-article-layout { grid-template-columns:1fr; }.wiki-sidebar { position:static; }.wiki-search>div { flex-direction:column; } }
.richtext-toolbar { display:flex; flex-wrap:wrap; gap:.4rem; margin:.1rem 0 .25rem; }
.richtext-toolbar button { padding:.45rem .6rem; border:1px solid var(--line); background:#f4efe6; color:var(--ink); font-size:.75rem; font-weight:800; cursor:pointer; }
.richtext-toolbar button:hover,.richtext-toolbar button:focus-visible { border-color:var(--coral); color:var(--coral-dark); }

/* icon.png is displayed at 25% of its native 449x337 dimensions. */
.brand span { display:none; }
.brand img { display:block; width:112px; height:84px; object-fit:contain; }
