/* skin/css/common.css */
:root {
    --brut-yellow: #FFDE00;
    --brut-blue: #E0F2FE;
    --brut-pink: #F472B6;
    --brut-green: #A3E635;
    --brut-black: #000000;
    --brut-white: #FFFFFF;
    
    --border-thick: 3px solid var(--brut-black);
    --shadow-hard: 4px 4px 0px var(--brut-black);
    --radius-hard: 0px; /* 直角 */
    --radius-soft: 12px; /* 微圆角 */
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; min-width: 0; }
body, h1, h2, h3,h4,h5, p, ul, li, input, button { margin: 0; padding: 0; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; object-fit: cover; }
ul { list-style: none; }

body {
    font-family: "PingFang SC", "Heiti SC", "Microsoft YaHei", sans-serif;
    background-color: var(--brut-blue);
    color: var(--brut-black);
    line-height: 1.5;
    padding-bottom: 100px;
    font-weight: 500;
}

.brut-container {
    max-width: 600px;
    margin: 0 auto;
    padding: 15px;
    min-height: 100vh;
    background: var(--brut-blue);
}

/* --- 顶部 Header (粗框搜索) --- */
.brut-header {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    gap: 10px;
}
.brand-box {
    color: var(--brut-yellow);
    padding: 8px 12px;
    font-weight: 900;
    font-size: 18px;
    
}
.brand-box img{
    height: 52px;
}
.search-block {
    flex: 1;
    display: flex;
    background: var(--brut-white);
    border: var(--border-thick);
    box-shadow: var(--shadow-hard);
    height: 44px;
    align-items: center;
    padding: 0 10px;
}
.search-block input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-weight: bold;
    font-size: 14px;
    color: var(--brut-black);
}
.search-go-btn {
    background: var(--brut-black);
    color: var(--brut-white);
    border: none;
    width: 30px; height: 30px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
}

/* --- 通用组件 --- */
/* 野兽派卡片 */
.b-card {
    background: var(--brut-white);
    border: var(--border-thick);
    box-shadow: var(--shadow-hard);
    padding: 15px;
    margin-bottom: 20px;
}

/* 标题栏 */
.section-head {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 15px;
    border-bottom: 3px solid var(--brut-black);
    padding-bottom: 5px;
}
.sh-title {
    font-size: 20px; font-weight: 900; background: var(--brut-yellow);
    padding: 2px 8px; border: 2px solid var(--brut-black);
    display: inline-block; transform: skewX(-10deg);
}
.sh-more {
    font-size: 14px; font-weight: 900; text-decoration: underline;
    text-decoration-thickness: 3px; text-decoration-color: var(--brut-pink);
}

/* 按钮 */
.btn-brut {
    background: var(--brut-green);
    color: var(--brut-black);
    border: 2px solid var(--brut-black);
    padding: 8px 16px;
    font-weight: 900;
    font-size: 13px;
    box-shadow: 2px 2px 0 var(--brut-black);
    cursor: pointer;
    transition: all 0.1s;
}
.btn-brut:active {
    transform: translate(2px, 2px);
    box-shadow: 0 0 0 var(--brut-black);
}

/* 横向滚动容器 */
.scroll-x-raw {
    display: flex; gap: 15px; overflow-x: auto;
    padding-bottom: 10px;
}

.icon-box-raw {
    flex: 0 0 70px; text-align: center;
}
.icon-box-raw a { width: 100%; display: block; overflow: hidden;}
.icon-box-raw img {
    width: 60px; height: 60px;
    border: var(--border-thick);
    margin: 0 auto 5px;
    background: #fff;
}
.icon-box-raw span {
    font-size: 12px; font-weight: 900; background: #fff;
    padding: 1px 4px; border: 1px solid #000;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    width: 100%;
    display: block;
}

/* --- 底部导航 (工具条) --- */
.toolbar-nav {
    position: fixed;
    bottom: 20px; left: 20px; right: 20px;
    max-width: 560px; margin: 0 auto;
    background: var(--brut-black);
    height: 64px;
    border: 3px solid var(--brut-white);
    box-shadow: 0 10px 0 rgba(0,0,0,0.2);
    display: flex;
    justify-content: space-around;
    align-items: center;
    z-index: 999;
}
.tool-btn {
    flex: 1; height: 100%;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    color: #888;
    transition: all 0.2s;
}
.tool-btn.active {
    color: var(--brut-yellow);
    background: #222;
}
.tool-icon {
    width: 24px; height: 24px;
    background-color: currentColor;
    mask-size: contain; -webkit-mask-size: contain;
    mask-repeat: no-repeat; -webkit-mask-repeat: no-repeat;
    mask-position: center; -webkit-mask-position: center;
    margin-bottom: 2px;
}
.tool-txt { font-size: 11px; font-weight: 900; }

/* SVG Icons */
.ic-home { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='square'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='square'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E"); }
.ic-game { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='square'%3E%3Crect x='2' y='6' width='20' height='12' rx='2'/%3E%3Cpath d='M6 12h4m-2-2v4m10-1h2m-5-2h2'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='square'%3E%3Crect x='2' y='6' width='20' height='12' rx='2'/%3E%3Cpath d='M6 12h4m-2-2v4m10-1h2m-5-2h2'/%3E%3C/svg%3E"); }
.ic-soft { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='square'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cline x1='3' y1='9' x2='21' y2='9'/%3E%3Cline x1='9' y1='21' x2='9' y2='9'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='square'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cline x1='3' y1='9' x2='21' y2='9'/%3E%3Cline x1='9' y1='21' x2='9' y2='9'/%3E%3C/svg%3E"); }
.ic-rank { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='square'%3E%3Cpath d='M12 2l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1 3-6z'/%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='square'%3E%3Cpath d='M12 2l3 6 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1 3-6z'/%3E%3C/svg%3E"); }
.ic-search { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); }
.ic-back { mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3'%3E%3Cline x1='19' y1='12' x2='5' y2='12'%3E%3C/line%3E%3Cpolyline points='12 19 5 12 12 5'%3E%3C/polyline%3E%3C/svg%3E"); -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3'%3E%3Cline x1='19' y1='12' x2='5' y2='12'%3E%3C/line%3E%3Cpolyline points='12 19 5 12 12 5'%3E%3C/polyline%3E%3C/svg%3E"); }