/**
 * 王者召唤师 · 玩家端 / 登录页公共主题
 * - 手机/平板：禁止横向滚动
 * - 喊话等长文本：自动换行
 * - prefers-color-scheme：跟随系统浅色/深色
 */
:root {
    color-scheme: light;
    --site-bg: #ffffff;
    /* 浅色模式与改主题前一致：浏览器默认纯黑字，不用 #333 以免发灰 */
    --site-text: #000000;
    --site-link: #4169e1;
    --site-link-hover: #2a4fb8;
    --site-muted: #666666;
    --site-border: #cccccc;
    --site-footer-bg: #e3eef8;
    --site-footer-text: #808080;
    --site-note-bg: #fff9b7;
    --site-input-bg: #ffffff;
    --site-msg-success: #27ae60;
    --site-msg-error: #c0392b;
    --site-panel-max: 480px;
    --site-auth-panel-max: 320px;
    --site-page-padding-left: 6px;
    --site-page-padding-right: 12px;
    --site-page-padding-top: 6px;
    --site-block-gap: 3px;
    --site-star-full: #000000;
    --site-star-half: #000000;
}

.game-star-full {
    color: var(--site-star-full);
}

.game-star-half {
    color: var(--site-star-half);
}

@media (prefers-color-scheme: dark) {
    :root {
        color-scheme: dark;
        --site-bg: #121212;
        --site-text: #e8e8e8;
        --site-link: #7eb6ff;
        --site-link-hover: #a8ccff;
        --site-muted: #aaaaaa;
        --site-border: #444444;
        --site-footer-bg: #1a2433;
        --site-footer-text: #9aa8b8;
        --site-note-bg: #3d3520;
        --site-input-bg: #1e1e1e;
        --site-msg-success: #6ee7a0;
        --site-msg-error: #ff8a8a;
        --site-star-full: #b0b0b0;
        --site-star-half: #b0b0b0;
    }
}

html {
    overflow-x: hidden;
    max-width: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    overflow-x: hidden;
    max-width: 100%;
    margin: 0;
    background: var(--site-bg);
    color: var(--site-text);
    word-wrap: break-word;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}

/* 玩家端 / 登录页：恢复原先左右留白（原浏览器默认 margin + container padding 观感） */
body:not(.admin-body) {
    background: var(--site-bg);
    color: var(--site-text);
    padding-top: max(var(--site-page-padding-top), env(safe-area-inset-top, 0px));
    padding-left: max(var(--site-page-padding-left), env(safe-area-inset-left, 0px));
    padding-right: max(var(--site-page-padding-right), env(safe-area-inset-right, 0px));
}

body:not(.admin-body) font {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

@media (min-width: 600px) {
    body:not(.admin-body) font {
        max-width: min(100%, 640px);
    }
}

@media (min-width: 1024px) {
    body:not(.admin-body) font {
        max-width: min(100%, 720px);
    }
}

body a,
body a:link,
body a:visited,
font a,
font a:link,
font a:visited {
    color: var(--site-link);
    text-decoration: none;
}

body a:hover,
font a:hover {
    color: var(--site-link-hover);
    text-decoration: underline;
}

/* 玩家端：链接与链接式按钮统一主题色（覆盖模板内联 #4169E1，深色模式与「无敌幸运星」等 <a> 一致） */
body:not(.admin-body) a:not(.red-link),
body:not(.admin-body) a:not(.red-link):link,
body:not(.admin-body) a:not(.red-link):visited,
body:not(.admin-body) font a:not(.red-link),
body:not(.admin-body) font a:not(.red-link):link,
body:not(.admin-body) font a:not(.red-link):visited {
    color: var(--site-link) !important;
    text-decoration: none !important;
}

body:not(.admin-body) a:not(.red-link):hover,
body:not(.admin-body) font a:not(.red-link):hover {
    color: var(--site-link-hover) !important;
    text-decoration: underline;
}

body:not(.admin-body) .game-link-btn,
body:not(.admin-body) button.game-link-btn {
    display: inline;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    color: var(--site-link) !important;
    cursor: pointer;
    font: inherit;
    line-height: inherit;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body:not(.admin-body) button.game-link-btn:hover {
    color: var(--site-link-hover) !important;
    text-decoration: underline;
}

/* 登录/注册等 .container 页：表单块级布局，避免 input width:100% 撑满整屏 */
body:not(.admin-body) .container form {
    display: block !important;
    width: 100%;
    max-width: 100%;
}

/* 实心按钮（登录/注册等）：保持绿底白字，不要套用链接蓝 */
body:not(.admin-body) .btn-success,
body:not(.admin-body) button.btn-success {
    color: #fff !important;
    background: #5cb85c;
    text-decoration: none !important;
}

body:not(.admin-body) .btn-success:hover,
body:not(.admin-body) button.btn-success:hover {
    color: #fff !important;
    text-decoration: none !important;
}

body:not(.admin-body) form {
    display: inline;
    max-width: 100%;
}

/* 切磋/挑战：双方幻兽图同行排列，宽度不足时自动换行 */
.pk-battle {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    max-width: 100%;
    margin: 4px 0;
    line-height: 1;
    gap: 2px;
}

.pk-pet {
    display: inline-block;
    line-height: 0;
    flex-shrink: 0;
}

.pk-pet img {
    width: 70px;
    height: 70px;
    display: block;
    max-width: 100%;
}

.pk-vs {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    line-height: 1.4;
    margin: 0 2px;
    padding-bottom: 4px;
}

/* 长链接、长昵称等超出屏幕宽度时换行 */
body:not(.admin-body) a,
body:not(.admin-body) span,
body:not(.admin-body) font,
body:not(.admin-body) p,
body:not(.admin-body) div,
body:not(.admin-body) td,
body:not(.admin-body) th,
body:not(.admin-body) li {
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
    max-width: 100%;
}

body font {
    color: inherit;
}

img,
video,
table,
pre,
iframe {
    max-width: 100%;
    height: auto;
}

input,
select,
textarea,
button {
    max-width: 100%;
}

.container {
    max-width: min(var(--site-panel-max), 100%);
    margin: 16px auto;
    padding: 12px;
    box-sizing: border-box;
}

body:not(.admin-body) .container.container--narrow {
    display: block;
    width: 100%;
    max-width: min(var(--site-auth-panel-max, 320px), calc(100vw - var(--site-page-padding-left) - var(--site-page-padding-right) - 16px));
    margin-left: auto;
    margin-right: auto;
}

/* 覆盖页面内联 success/error 色（深色模式下可读） */
@media (prefers-color-scheme: dark) {
    p[style*="color:green"],
    span[style*="color:green"] {
        color: var(--site-msg-success) !important;
    }

    p[style*="color:red"],
    span[style*="color:red"] {
        color: var(--site-msg-error) !important;
    }
}

/* 公告黄条：小屏允许换行，避免撑出横向滚动；与下方活动等内容间距 3px */
.note {
    white-space: normal !important;
    flex-wrap: wrap;
    max-width: 100%;
    background: var(--site-note-bg) !important;
    margin-bottom: var(--site-block-gap) !important;
}

.regulatory-footer {
    background: var(--site-footer-bg) !important;
    color: var(--site-footer-text) !important;
}

/* 世界/联盟喊话行 */
.world-shout-line {
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.world-shout-text {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* WAP 输入框：小屏占满可用宽度 */
.game-txt {
    max-width: 100%;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .game-txt {
        width: min(170px, calc(100vw - var(--site-page-padding-left) - var(--site-page-padding-right) - 64px));
    }
}
