.sub-page { min-height: 100vh; background: #f1f1f1; padding-bottom: calc(102px + var(--safe-bottom)); }
.sub-header { position: sticky; top: 0; z-index: 40; height: 44.85px; display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; background: #fff; box-shadow: 0 3px 10px rgba(0,0,0,.04); }
.sub-header button { height: 44px; color: #555; font-size: 34px; line-height: 36px; }
.sub-header h2 { margin: 0; text-align: center; color: #323233; font-size: 18px; font-weight: 500; }
.sub-main { padding: 10px; }
.page-search { display: grid; grid-template-columns: 68px 1fr 58px; gap: 8px; margin-bottom: 10px; }
.page-search input, .login-card input { height: 38px; border: 1px solid #e5e5e5; border-radius: 5px; padding: 0 10px; outline: none; background: #fff; }
.page-search button, .select-chip, .live-card button, .login-card button, .post-card button, .guess-list button { height: 38px; border-radius: 5px; color: #fff; background: #07c160; }
.select-chip { color: #333; background: #fff; border: 1px solid #e5e5e5; }
.search-list, .list-card, .plain-card, .live-card, .login-card, .me-hero { background: #fff; border-radius: 6px; overflow: hidden; }
.search-row { width: 100%; min-height: 41px; display: grid; grid-template-columns: 28px 1fr 42px; gap: 9px; align-items: center; padding: 0 12px; border-bottom: 1px solid #f1f1f1; text-align: left; }
.search-row b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #07c160; font-size: 13px; }
.search-row span { color: #323233; font-size: 14px; }
.search-row em, .history-title em, .list-card em, .post-card p, .guess-list p, .me-hero p, .login-card p { color: #969799; font-style: normal; font-size: 12px; }
.year-title, .notice-line { margin-bottom: 10px; padding: 10px 12px; border-radius: 6px; color: #07c160; background: #fff; font-size: 15px; }
.history-card { margin-bottom: 10px; padding: 10px; border-radius: 6px; background: #fff; }
.history-title { display: grid; grid-template-columns: 1fr auto; gap: 3px 8px; align-items: center; margin-bottom: 8px; }
.history-title b { color: #323233; font-size: 15px; }
.history-title span { color: #07c160; font-size: 13px; }
.history-title em { grid-column: 1 / 3; }
.mini-balls { display: flex; align-items: flex-start; justify-content: space-between; gap: 2px; }
.mini-balls li { text-align: center; min-width: 34px; }
.mini-balls .ball { width: 34px; height: 34px; margin-bottom: 3px; color: #50637f; font-size: 14px; }
.mini-balls em { display: block; color: #666; font-style: normal; font-size: 10px; white-space: nowrap; }
.mini-plus { width: 18px; min-width: 18px !important; line-height: 34px; font-size: 22px; }
.sub-tabs { display: flex; gap: 8px; margin-bottom: 10px; overflow-x: auto; }
.sub-tabs button { flex: 0 0 auto; min-width: 72px; height: 32px; padding: 0 12px; border-radius: 16px; color: #555; background: #fff; }
.sub-tabs button.active { color: #fff; background: #07c160; }
.live-card, .plain-card { padding: 12px; margin-bottom: 10px; }
.live-card h3, .plain-card h3, .post-card h3, .guess-list h3, .login-card h3, .me-hero h3 { margin: 0 0 10px; font-size: 16px; font-weight: 500; }
.live-card p, .plain-card p { color: #eb5252; font-size: 13px; }
.empty-page { padding: 26px 0; text-align: center; color: #999; }
.list-card button { width: 100%; min-height: 46px; display: grid; grid-template-columns: 32px 1fr auto; gap: 8px; align-items: center; padding: 0 12px; border-bottom: 1px solid #f3f3f3; text-align: left; }
.list-card span { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #07c160; }
.stat-grid, .tool-grid, .platform-grid, .game-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.stat-grid span { min-height: 58px; display: grid; place-items: center; border-radius: 6px; background: #f8f8f8; }
.stat-grid b { color: #07c160; font-size: 18px; }
.stat-grid em { color: #999; font-style: normal; font-size: 12px; }
.guess-list article, .post-card { margin-bottom: 10px; padding: 12px; border-radius: 6px; background: #fff; }
.tool-grid button, .platform-grid a, .game-list button { min-height: 86px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; border-radius: 6px; background: #fff; color: #555; }
.tool-grid span, .platform-grid span, .game-list span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(180deg,#35d685,#07b75d); }
.platform-grid em, .game-list em { color: #999; font-style: normal; font-size: 12px; }
.me-hero, .login-card { padding: 22px 16px; text-align: center; }
.me-hero button { width: 128px; height: 38px; margin-top: 8px; border-radius: 19px; color: #fff; background: #07c160; }
.login-card { display: flex; flex-direction: column; gap: 12px; }
.login-card h3 { color: #07c160; font-size: 22px; }
.detail-page .detail-card { margin-bottom: 10px; padding: 12px; border-radius: 6px; background: #fff; }
.detail-card h3 { margin: 0 0 10px; color: #323233; font-size: 16px; font-weight: 500; }
.picture-stage { overflow: hidden; border-radius: 6px; background: #f7f8fa; text-align: center; }
.picture-stage img { display: block; width: 100%; height: auto; min-height: 120px; object-fit: contain; }
.detail-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0; color: #969799; font-size: 12px; }
.detail-meta span { padding: 3px 7px; border-radius: 10px; background: #f6f6f6; }
.action-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.action-row button, .tool-panel > button, .big-action { min-height: 34px; padding: 0 12px; border-radius: 5px; color: #fff; background: #07c160; }
.issue-strip { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; }
.issue-strip button { flex: 0 0 auto; height: 30px; padding: 0 10px; border-radius: 15px; color: #07c160; background: #eefaf3; }
.history-attrs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 12px; }
.history-attrs span { padding: 8px 4px; border-radius: 6px; background: #f7f8fa; text-align: center; }
.history-attrs b { display: block; color: #07c160; font-size: 18px; }
.history-attrs em, .history-attrs small { display: block; color: #777; font-style: normal; font-size: 11px; }
.article-content { color: #323233; font-size: 14px; line-height: 1.75; white-space: normal; }
.vote-grid, .chip-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 12px; }
.vote-grid button, .chip-grid button { min-height: 42px; border-radius: 6px; color: #555; background: #f7f8fa; }
.vote-grid b, .vote-grid em { display: block; font-style: normal; }
.tool-panel input, .tool-detail-page textarea { width: 100%; min-height: 38px; margin-bottom: 8px; border: 1px solid #e5e5e5; border-radius: 5px; padding: 8px; background: #fff; outline: none; }
.segmented { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 10px; }
.segmented button { height: 32px; border-radius: 16px; color: #555; background: #f7f8fa; }
.segmented button.active { color: #fff; background: #07c160; }
.tool-result { margin-top: 12px; padding: 12px; border-radius: 6px; color: #07c160; background: #f2fbf6; text-align: center; }
.card-pick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 12px; }
.card-pick button { min-height: 96px; border-radius: 10px; color: #07c160; background: linear-gradient(180deg,#f8fffb,#e8f8ef); font-size: 26px; box-shadow: inset 0 0 0 1px #cdeedb; }
.lottery-wheel { width: 130px; height: 130px; display: grid; place-items: center; margin: 14px auto; border: 10px solid #ffe08a; border-radius: 50%; color: #eb5252; background: #fff7d6; font-size: 28px; font-weight: 700; }
.date-list { display: grid; gap: 8px; }
.date-list span { display: flex; justify-content: space-between; padding: 10px; border-radius: 6px; background: #f7f8fa; }
.date-list em { color: #969799; font-style: normal; }
.calendar-card div { margin-top: 10px; padding: 10px; border-radius: 6px; background: #f7f8fa; }
.calendar-card b { color: #eb5252; }
.game-pg-page .empty-page { background: #f7f8fa; border-radius: 6px; }
