/* ============================================================ 砂狼白子主题(shiroko) 真实素材(头像 / 立绘)来自社区数据库 SchaleDB,版权归 NEXON Games · Yostar; 其余装饰为自绘几何图形,均按其公开设定还原: · 光环:倾斜的椭圆环 + 四方位带圆头的短杆(全息瞄准镜准星意象) · 发饰:青色倒十字(旋转 45°) · 围巾:天蓝色飘带(星野的信物) · 座驾:公路车 仅在 body[data-theme="shiroko"] 下生效,不影响默认主题。 ============================================================ */ body[data-theme="shiroko"] { --bg: #eef7fd; --surface: #ffffff; --border: #d3e6f5; --text: #17253d; --text-2: #5d7b9a; --up: #12b0a2; --up-bg: #e4faf6; --down: #e0524e; --down-bg: #fdecec; --pending: #d99413; --pending-bg: #fff7e6; --accent: #1e9fd4; --uptime-ok: #12b0a2; --uptime-warn: #e5a52c; --uptime-bad: #e0524e; --uptime-none: #dbe8f3; --shadow: 0 1px 2px rgb(23 60 100 / 0.05), 0 10px 26px -20px rgb(23 60 100 / 0.35); --sh-sky: #8fe0ff; --sh-sky-deep: #2ea8dc; --sh-navy: #1c2f4d; } @media (prefers-color-scheme: dark) { body[data-theme="shiroko"] { --bg: #0a1622; --surface: #101d2c; --border: #1d3247; --text: #e4eef7; --text-2: #8ba6bf; --up: #2fd4c2; --up-bg: #0d2a2a; --down: #f4736c; --down-bg: #2c1518; --pending: #e8b344; --pending-bg: #2a2113; --accent: #55c2ef; --uptime-ok: #2fd4c2; --uptime-none: #1a2b3d; --shadow: none; } } /* ---------- 背景:天蓝渐变 + 淡斜纹 ---------- */ body[data-theme="shiroko"] { background-color: var(--bg); background-image: repeating-linear-gradient(135deg, rgb(46 168 220 / 4%) 0 1px, transparent 1px 9px), radial-gradient(120% 60% at 50% -20%, rgb(143 224 255 / 26%), transparent 70%), linear-gradient(180deg, rgb(255 255 255 / 70%), transparent 320px); background-attachment: fixed; } /* 页脚下方空带:按官方造型还原的光环水印(倾斜椭圆环 + 四方位圆头短杆), 与左下角公路车、右下角立绘形成一条装饰带,互不遮挡 */ body[data-theme="shiroko"]::after { content: ""; position: fixed; left: 44%; bottom: 0; width: 330px; height: 180px; pointer-events: none; z-index: 0; opacity: 0.5; background-repeat: no-repeat; background-size: contain; background-image: url("data:image/svg+xml;utf8,"); } /* 左下角:简约风公路车插画(与人物同一套扁平风格) */ body[data-theme="shiroko"]::before { content: ""; position: fixed; left: 8px; bottom: 2px; width: 158px; height: 93px; pointer-events: none; z-index: 0; opacity: 0.85; background: url("shiroko-bike.webp") no-repeat center / contain; } /* ---------- 顶栏:天蓝到白 + 底部围巾飘带 ---------- */ body[data-theme="shiroko"] .topbar { background: linear-gradient(180deg, #ffffff 0%, #f6fcff 100%); border-bottom: 0; box-shadow: var(--shadow); overflow: hidden; } body[data-theme="shiroko"] .topbar::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 12px; background: url("deco-scarf.svg") repeat-x bottom left / 300px 12px; pointer-events: none; } /* ---------- 品牌:真实头像 + 光环环 ---------- */ body[data-theme="shiroko"] .logo { width: 34px; height: 34px; border-radius: 50%; background: #eaf7ff url("shiroko-icon.webp") center / cover no-repeat; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--sh-sky-deep), 0 0 12px rgb(46 168 220 / 55%); animation: avatar-halo 3.4s ease-out infinite; } @keyframes avatar-halo { 0% { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--sh-sky-deep), 0 0 12px rgb(46 168 220 / 55%); } 65% { box-shadow: 0 0 0 2px #fff, 0 0 0 8px rgb(46 168 220 / 0%), 0 0 16px rgb(46 168 220 / 30%); } 100% { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--sh-sky-deep), 0 0 12px rgb(46 168 220 / 55%); } } body[data-theme="shiroko"] .brand-text h1 { color: var(--sh-navy); letter-spacing: 0.04em; } /* 分组标题前的青色倒十字发饰(旋转 45°) */ body[data-theme="shiroko"] .group-title::before, body[data-theme="shiroko"] .group-row td::before { content: ""; display: inline-block; width: 11px; height: 11px; margin-right: 7px; vertical-align: middle; background-repeat: no-repeat; background-size: contain; background-image: url("data:image/svg+xml;utf8,"); } /* ---------- 状态点 → 迷你光环 ---------- */ body[data-theme="shiroko"] [data-status="up"] { --sh-state: var(--up); } body[data-theme="shiroko"] [data-status="down"] { --sh-state: var(--down); } body[data-theme="shiroko"] [data-status="pending"] { --sh-state: var(--pending); } body[data-theme="shiroko"] .dot { width: 12px; height: 12px; background: transparent; border: 2px solid var(--sh-state, var(--pending)); border-radius: 50%; position: relative; box-shadow: 0 0 7px -1px var(--sh-state, var(--pending)); } body[data-theme="shiroko"] .dot::after { content: ""; position: absolute; inset: 2.5px; border-radius: 50%; background: var(--sh-state, var(--pending)); } body[data-theme="shiroko"] .card[data-status="up"] .dot { animation: halo-pulse 2.6s ease-out infinite; } @keyframes halo-pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--up) 45%, transparent); } 70% { box-shadow: 0 0 0 7px color-mix(in srgb, var(--up) 0%, transparent); } 100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--up) 0%, transparent); } } /* ---------- 卡片 / 表格 / 交互 ---------- */ body[data-theme="shiroko"] .card { border-left-width: 3px; background: linear-gradient(180deg, #ffffff, #fbfdff); } body[data-theme="shiroko"] .tab.active, body[data-theme="shiroko"] .view-btn.active { background: linear-gradient(135deg, var(--sh-sky-deep), #1b7fb4); box-shadow: 0 3px 10px -4px rgb(46 168 220 / 70%); } body[data-theme="shiroko"] #refresh-btn:hover { border-color: var(--accent); color: var(--accent); } body[data-theme="shiroko"] .monitor-table th { background: linear-gradient(180deg, #f7fcff, #eef7fd); color: var(--sh-navy); border-bottom: 1px solid var(--border); } body[data-theme="shiroko"] .monitor-table tbody tr:hover { background: rgb(46 168 220 / 6%); } body[data-theme="shiroko"] .group-row td { background: linear-gradient(90deg, #eaf6fd, #f7fcff); border-left: 3px solid var(--sh-sky-deep); color: var(--sh-navy); } body[data-theme="shiroko"] .table-wrap { box-shadow: var(--shadow); } body[data-theme="shiroko"] .uptime-cell.lv-none { background-image: repeating-linear-gradient(135deg, rgb(46 168 220 / 16%) 0 1px, transparent 1px 3px); background-color: var(--uptime-none); } /* ---------- 刷新按钮的公路车轮加载态 ---------- */ body[data-theme="shiroko"] #refresh-btn .wheel { animation: wheel-spin 0.9s linear infinite; } @keyframes wheel-spin { to { transform: rotate(360deg); } } /* ---------- 简约风立绘(settings.artwork,默认指向内置形象) ---------- */ body[data-theme="shiroko"] .artwork { position: fixed; right: 10px; bottom: 0; width: auto; height: min(44vh, 380px); z-index: 0; pointer-events: none; user-select: none; filter: drop-shadow(0 6px 18px rgb(23 60 100 / 15%)); } /* 窄屏:立绘与固定装饰全部撤掉,避免压住内容或溢出(手机只保留配色与围巾飘带) */ @media (max-width: 820px) { body[data-theme="shiroko"] .artwork, body[data-theme="shiroko"]::before, body[data-theme="shiroko"]::after { display: none; } } /* 横屏手机:可用高度很小,立绘同样撤掉 */ @media (max-height: 520px) { body[data-theme="shiroko"] .artwork { display: none; } } /* 卡片视图行数多、卡片更靠右下,立绘再收一档,尽量让它落在卡片之外的角落 */ body[data-theme="shiroko"][data-view="cards"] .artwork { height: min(34vh, 300px); } /* 内容层置于装饰之上 */ body[data-theme="shiroko"] .grid, body[data-theme="shiroko"] .footer, body[data-theme="shiroko"] .group-tabs { position: relative; z-index: 1; }