/* 广告小铺（临时样式：像素图标 / 卡片边框等美术等用户点头后再换） */
#btn-hudmenu { position: relative; }
#btn-hudmenu.as-new::after { content: ""; position: absolute; right: -3px; top: -3px; width: 9px; height: 9px; border-radius: 50%; background: #c0392b; box-shadow: 0 0 0 1.5px #f3ecd8; pointer-events: none; z-index: 3; }
.as-open { margin-left: 6px; }
.as-open.ready::after { content: ""; position: absolute; right: -3px; top: -3px; width: 8px; height: 8px; border-radius: 50%; background: #c0392b; box-shadow: 0 0 0 1.5px #f3ecd8; }
.pf-headrow { flex-wrap: wrap; }
.as-open img { width: 22px; height: 22px; image-rendering: pixelated; flex: none; }
.as-nav { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.as-logo { width: 30px; height: 30px; image-rendering: pixelated; }
.as-tabs { margin-left: auto; display: inline-flex; gap: 6px; }
.as-body { padding: 10px 12px 14px; }
.as-split { display: grid; grid-template-columns: minmax(150px, 36%) 1fr; gap: 12px; align-items: start; }
.as-list { display: flex; flex-direction: column; gap: 6px; max-height: 250px; overflow-y: auto; padding-right: 2px; }
.as-li { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border: 2px solid #b59a62; background: #f3ecd8; font-family: "猫田楷", serif; color: #2c3331; text-align: left; cursor: pointer; }
.as-li.on { border-color: #944b39; background: #f7efd9; box-shadow: inset 3px 0 0 #944b39; }
.as-li .as-pic { width: 28px; height: 28px; padding: 3px; flex: none; }
.as-li-t { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.as-li-t b { font-weight: 400; font-size: 14px; letter-spacing: 1px; }
.as-li-t small { font-size: 11px; color: #756951; }
.as-li em { font-style: normal; font-size: 12px; color: #944b39; }
.as-detail { display: flex; flex-direction: column; gap: 6px; min-width: 0; font-family: "猫田楷", serif; color: #2c3331; }
.as-detail.solo { align-items: center; text-align: center; padding: 10px 0; }
.as-dh { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.as-dh b { font-weight: 400; font-size: 18px; letter-spacing: 3px; color: #944b39; }
.as-dh em { font-style: normal; font-size: 14px; color: #944b39; }
.as-detail .as-bar { margin: 2px 0 4px; }
.as-steps { display: flex; flex-direction: column; gap: 6px; }
.as-step { position: relative; display: flex; align-items: center; gap: 10px; padding: 6px 10px 6px 26px; border: 2px solid #b59a62; background: #f3ecd8; }
.as-step.cur { border-color: #944b39; background: #f7efd9; }
.as-step.lock { opacity: .55; }
.as-step .as-no { top: 50%; left: 5px; margin-top: -8px; }
.as-step.done .as-no { background: #6b7a5a; }
.as-step.cur .as-no { background: #944b39; }
.as-sinfo { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.as-sinfo b { font-weight: 400; font-size: 15px; letter-spacing: 1px; }
.as-step .as-pics { min-height: 0; }
.as-step .as-pic { width: 28px; height: 28px; padding: 3px; }
.as-hero-pic { display: flex; justify-content: center; }
.as-pic.huge { width: 72px; height: 72px; padding: 8px; }
.as-act.row { flex-direction: row; justify-content: flex-start; margin-top: 4px; }
.as-detail.solo .as-act.row { justify-content: center; }
.as-no { position: absolute; width: 16px; height: 16px; line-height: 16px; font-size: 11px; text-align: center; background: #8a6a4c; color: #f3ecd8; }
.as-note { margin: 4px 0 6px; font-size: 13px; color: #5a4a3a; line-height: 1.5; }
.as-note.dim { color: #8a7d68; font-size: 12px; margin-top: 12px; text-align: center; }
.as-hero { display: flex; align-items: center; justify-content: space-between; padding: 6px 12px; border: 2px solid #944b39; background: rgba(148,75,57,.08); font-family: "猫田楷", serif; }
.as-hero-t b { display: block; font-weight: 400; font-size: 18px; letter-spacing: 3px; color: #944b39; }
.as-hero-t span { font-size: 12px; color: #756951; }
.as-hero-n { font-size: 26px; color: #944b39; line-height: 1; }
.as-hero-n small { font-size: 13px; color: #756951; }
.as-bar { height: 8px; border: 1.5px solid #8a6a4c; background: #e4d9bd; margin: 6px 0 12px; }
.as-bar i { display: block; height: 100%; background: #944b39; }
.as-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.as-card { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px 6px 10px; border: 2px solid #8a6a4c; outline: 1px solid #c9b88c; outline-offset: -5px; background: #f3ecd8; text-align: center; font-family: "猫田楷", serif; color: #2c3331; }
.as-card b, .as-info b { font-weight: 400; font-size: 15px; letter-spacing: 1px; }
.as-card.cur { border-color: #944b39; background: #f7efd9; }
.as-card.lock { opacity: .55; }
.as-no { position: absolute; left: 6px; top: 6px; width: 16px; height: 16px; line-height: 16px; font-size: 11px; background: #8a6a4c; color: #f3ecd8; }
.as-card.cur .as-no { background: #944b39; }
.as-card.done .as-no { background: #6b7a5a; }
.as-pics { display: flex; gap: 4px; justify-content: center; min-height: 56px; align-items: center; }
.as-pic { width: 40px; height: 40px; image-rendering: pixelated; object-fit: contain; background: #e4d9bd; border: 1.5px solid #b59a62; padding: 4px; }
.as-pic.big { width: 64px; height: 64px; padding: 6px; }
.as-d { font-size: 12px; color: #756951; line-height: 1.35; }
.as-ok { font-size: 13px; color: #6b7a5a; }
.as-card .as-ok { border-top: 1px solid #c9b88c; padding-top: 4px; margin-top: 2px; }
.as-lock { font-size: 12px; color: #9a917a; }
.as-btn { margin-top: 4px; padding: 3px 16px; border: 1.5px solid #944b39; background: #944b39; color: #f7efd9; font: 400 14px "猫田楷", serif; letter-spacing: 2px; cursor: pointer; }
.as-btn:disabled { border-color: #a79f88; background: #d9d0b8; color: #8a8068; cursor: default; }
.as-why { font-size: 11px; color: #9a6a5a; }
.as-row { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 2px solid #8a6a4c; outline: 1px solid #c9b88c; outline-offset: -5px; background: #f3ecd8; font-family: "猫田楷", serif; color: #2c3331; }
.as-row.cur { border-color: #944b39; background: #f7efd9; }
.as-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.as-prog { display: flex; align-items: center; gap: 8px; }
.as-prog .as-bar { flex: 1; margin: 0; }
.as-prog em { font-style: normal; font-size: 12px; color: #756951; }
.as-act { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 96px; }
@media (max-width: 560px) { .as-split { grid-template-columns: 1fr; } .as-list { max-height: 120px; } }
.tr-strip > #btn-adshop { position: absolute; left: -9999px; }   /* 只做菜单里的入口，和排行一样挪出屏外 */
