.activity-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.activity-sidebar{position:sticky;top:20px;min-width:0}.activity-stage{padding:26px;min-width:0}.activity-primary-status{font-size:18px;color:#285b46;font-weight:650;line-height:1.6}.activity-agreement{padding:20px;margin-top:18px;font-size:13px;line-height:1.9;color:#748368}.activity-agreement summary{cursor:pointer;color:#386b4c}.activity-agreement a{display:block;margin-top:12px}.activity-rule-copy{font-size:14px;line-height:1.9;color:#738569}.activity-chess{display:grid;grid-template-columns:1fr 1fr;gap:18px}.chess-side{padding:24px;border-radius:13px;border:1px solid #e0e4d9;min-width:0}.chess-side.white{background:#faf8ee}.chess-side.black{background:#35453e;color:#edf3e9}.chess-side>span{font-size:13px}.chess-side>strong{font-size:42px;display:block;margin:18px 0}.chess-side small{font-size:13px;font-weight:400}.chess-stones{display:flex;gap:7px;flex-wrap:wrap}.chess-stones i{height:23px;width:23px;border-radius:50%;border:1px dashed #abb5a5}.chess-side.white .filled{background:#fff;box-shadow:inset -3px -4px 7px #dedfce;border-style:solid}.chess-side.black .filled{background:#15221c;box-shadow:inset -3px -3px 6px #0007;border-style:solid}.activity-stage-note{margin:22px 0 0;color:#6b8560;font-size:14px}.activity-route-title,.activity-route-foot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:#72896b}.activity-route{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:24px 0}.route-cell{position:relative;aspect-ratio:1;background:#f1f4ec;border:1px solid #e0e7d8;border-radius:9px;display:flex;align-items:center;justify-content:center;color:#9aa68f;font-size:12px}.route-cell.passed{background:#e1edd9;color:#68885a}.route-cell.current{border:2px solid #518265;background:#d6e9cb;color:#335e42}.route-cell.current b{position:absolute;right:3px;bottom:1px;font-size:10px}.activity-recipe{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-bottom:1px solid #e9eee2;font-size:13px}.activity-recipe span{font-size:12px;color:#8a987d;line-height:1.7}.activity-recipe.done b{color:#3a8057}.activity-cafe-grid{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:3px;width:100%;max-width:680px;margin:auto}.activity-cafe-cell{position:relative;aspect-ratio:1;min-width:0;padding:3px;border:1px solid #dee5d7;background:#fffaf8;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center}.activity-cafe-cell img{width:100%;height:100%;object-fit:contain}.activity-cafe-cell.empty{background:#eff1eb}.activity-cafe-cell.unlocked{background:#e7f2df;border-color:#8baf7c}.activity-cafe-cell.picked{outline:2px solid #d4aa55;outline-offset:-2px;background:#fff3d5}.activity-cafe-cell.reachable.food{border-color:#6b995b;background:#eef7e8}.activity-cafe-cell i{position:absolute;right:0;top:0;font-size:9px;background:#4d7d50;color:white;font-style:normal}.activity-cafe-cell .food{font-size:10px;line-height:1.2;color:#9b7c4b;overflow-wrap:anywhere}.activity-cafe-cell .food-straw,.activity-cafe-cell .food-peach{color:#c76b76}.activity-cafe-cell.start{background:#e8efd8;color:#6f8451;font-size:10px}.activity-foods{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.activity-foods span{padding:6px 8px;border-radius:6px;background:#f0f3ec;color:#9aa58e;font-size:11px}.activity-foods .collected{background:#e1efd7;color:#568248}.activity-event-log{display:flex;flex-direction:column;gap:9px;padding:18px 0;font-size:13px;color:#657b5c}.activity-round-modal{width:calc(100vw - 40px);max-width:1080px}.activity-round-columns{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px}.activity-round-columns>section,.activity-round-columns>aside{min-width:0}.activity-round-columns h3{font-size:16px;margin:0 0 14px}.activity-round-columns .muted{font-size:12px;line-height:1.7}.activity-round-columns>aside{padding-left:24px;border-left:1px solid #e4e9dc}.activity-round-columns .field{margin-bottom:16px}.activity-insurance{font-size:12px;line-height:1.8;color:#6c835f;display:flex;gap:8px;margin:14px 0}.activity-insurance[hidden]{display:none}.activity-insurance input{appearance:none;flex-shrink:0;width:18px;height:18px;border:1px solid #9caf91;border-radius:4px;background:#fff;margin-top:4px}.activity-insurance input:checked{background:#387456;border-color:#387456}.activity-insurance input:checked:after{content:'✓';color:white;font-size:12px;display:block;text-align:center}.activity-item-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:7px;max-height:270px;overflow:auto;margin:12px 0;overscroll-behavior:contain}.activity-item-list button{border:1px solid #e3e8da;border-radius:8px;background:#fff;padding:8px;display:flex;flex-direction:column;align-items:center;gap:7px;color:#607455;min-width:0}.activity-item-list img{height:52px;max-width:100%;object-fit:contain}.activity-item-list b{font-size:11px;font-weight:500}.activity-item-list small{font-size:10px;color:#92a286}#activityItemSearch{width:100%;padding:12px;border:1px solid #dfe7d6;border-radius:8px;font:inherit;font-size:13px}.activity-quick-events{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.activity-quick-events button{padding:15px 10px;border:1px solid #dbe5d1;border-radius:9px;background:#f4f8ef;color:#587b4f;line-height:1.6;text-align:left;font-size:12px}.activity-draft-event{display:flex;align-items:center;gap:8px;min-width:0;padding:10px 0;border-bottom:1px solid #edf0e7}.activity-draft-event>span{font-size:11px;color:#a2ad97;flex-shrink:0}.activity-draft-event>b{font-size:11px;flex:1;min-width:0;line-height:1.7;font-weight:500;color:#687b5b}.activity-draft-event>.ui-number{max-width:115px;flex:0 1 115px}.activity-draft-event .ui-number input{min-width:0;width:100%;border:0;outline:0;padding:7px;background:none;font:inherit}.activity-draft-event>button{border:0;background:#f2f5ed;color:#859a72;border-radius:5px;width:24px;min-height:30px;flex-shrink:0}.activity-round-modal .formfoot{position:sticky;bottom:0;background:#fff;padding-top:18px}#activityError{font-size:12px;color:#aa624e;line-height:1.7}
@media(min-width:1800px){.activity-layout{grid-template-columns:minmax(0,1fr) 400px;gap:28px}.activity-stage{padding:34px}}
@media(max-width:1050px){.activity-layout,.activity-round-columns{grid-template-columns:minmax(0,1fr)}.activity-sidebar{position:static}.activity-round-columns>aside{border-left:0;border-top:1px solid #e4e9dc;padding-left:0;padding-top:20px}}
@media(max-width:760px){.activity-stage{padding:16px}.activity-chess{gap:10px}.chess-side{padding:16px}.chess-side>strong{font-size:32px}.chess-stones i{width:18px;height:18px}.activity-layout{gap:16px}.activity-cafe-grid{gap:2px}.activity-cafe-cell{padding:1px}.activity-cafe-cell .food{font-size:8px}.activity-round-modal{width:100%;max-height:100dvh}.activity-draft-event{gap:5px}.activity-draft-event>.ui-number{max-width:106px}.activity-round-columns{gap:18px}.activity-route{gap:6px}}
.activity-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.activity-admin-layout>div,.activity-admin-layout>aside{min-width:0}.activity-admin-items,.activity-admin-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;overflow:auto;max-height:510px;margin-top:12px;overscroll-behavior:contain}.activity-admin-items button,.activity-admin-group button{display:flex;flex-direction:column;align-items:center;padding:7px;gap:5px;min-width:0}.activity-admin-items img,.activity-admin-group img{width:100%;height:44px;object-fit:contain}.activity-admin-items small,.activity-admin-group small{font-size:10px;line-height:1.5;overflow-wrap:anywhere}.activity-admin-layout aside>input{width:100%;padding:12px;border:1px solid #dfe6d7;border-radius:8px;font:inherit}.activity-admin-groups{display:grid;grid-template-columns:1fr 1fr;gap:14px}.activity-admin-group{grid-template-columns:repeat(3,minmax(0,1fr));max-height:530px}.activity-admin-foods{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.activity-admin-foods button{font-size:12px}.activity-admin-recipe{padding:18px;border:1px solid #dfe7d6;border-radius:10px;margin-bottom:18px}
@media(max-width:1100px){.activity-admin-layout{grid-template-columns:minmax(0,1fr)}.activity-admin-items{grid-template-columns:repeat(auto-fill,minmax(95px,1fr));max-height:300px}.activity-admin-group{grid-template-columns:repeat(2,minmax(0,1fr))}}

.activity-cafe-cell:disabled{opacity:1;cursor:default}.activity-cafe-cell[disabled]:hover{transform:none}

/* 操作指引紧贴棋盘；状态颜色和保存预览对应实际计算。 */
.activity-how{display:flex;align-items:flex-start;gap:20px;padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid #e4e9df}.activity-how>div{flex:1;min-width:0}.activity-how h2{font-size:19px;line-height:1.5;margin:0 0 8px;color:#244e40}.activity-how p{font-size:14px;line-height:1.85;margin:0;color:#526957}.activity-how .activity-how-rule{font-size:12px;color:#7e8b76;margin-top:8px}.activity-how>.btn{flex-shrink:0}.activity-targets{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}.activity-targets>div{padding:11px 14px;border:1px solid #e1e8d8;border-radius:8px;background:#f6f9f1;display:flex;gap:8px 16px;flex-wrap:wrap;font-size:13px}.activity-targets span{color:#6e815f}.activity-board-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:14px 0;color:#77836b;font-size:11px}.activity-board-legend span{display:flex;align-items:center;gap:6px}.activity-board-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.activity-board-legend .linked{background:#d0e9bc;border:1px solid #66964b}.activity-board-legend .isolated{background:#dbe9f2;border:1px solid #7e9eb6}.activity-board-legend .pending{background:#fff0c5;border:2px solid #d4aa55}.activity-cafe-cell.unlocked{background:#edf3f8;border-color:#89a7bd}.activity-cafe-cell.unlocked.reachable,.activity-cafe-cell.reachable.food{background:#e4f1d7;border-color:#729e52;box-shadow:inset 0 0 0 1px #9fbd84}.activity-cafe-cell.picked{background:#fff3d5;outline:2px solid #d4aa55}.activity-cafe-cell.picked i{background:#b78b32}.activity-cafe-cell.reachable.food .food{font-weight:700;color:#476d2f}
#activityCafeSearch{width:100%;padding:12px;border:1px solid #cfdcc9;border-radius:8px;font:inherit;font-size:14px}#activityCafeMatches>p{font-size:12px;line-height:1.8;color:#74886a;margin:8px 0 14px}.activity-cafe-matches{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:210px;overflow:auto;overscroll-behavior:contain;margin-bottom:16px}.activity-cafe-matches button{display:flex;align-items:center;gap:9px;text-align:left;border:1px solid #dfe6d7;border-radius:8px;background:#fff;padding:10px;color:#42663b;min-width:0}.activity-cafe-matches button[aria-pressed=true]{border-color:#c7a14a;background:#fff5dc}.activity-cafe-matches img{width:40px;height:40px;object-fit:contain;flex-shrink:0}.activity-cafe-matches span{display:flex;flex-direction:column;gap:5px;min-width:0}.activity-cafe-matches b{font-size:12px;line-height:1.5;overflow-wrap:anywhere}.activity-cafe-matches small{font-size:10px;color:#7d8d70}.activity-round-modal #activityPreview{font-size:13px;line-height:1.8;padding:16px;background:#f1f6e9;border:1px solid #dce7cc;border-radius:10px}.activity-round-modal #activityPreview>b{font-size:14px;color:#375f30}.activity-round-modal #activityPreview ul{padding-left:18px;margin:9px 0 0}.activity-round-modal #activityPreview li{margin:6px 0;color:#5e7551}
@media(max-width:760px){.activity-how{flex-direction:column;gap:14px;margin-bottom:18px;padding-bottom:18px}.activity-how h2{font-size:17px}.activity-how p{font-size:13px}.activity-how>.btn{width:100%}.activity-cafe-matches{grid-template-columns:1fr;max-height:220px}.activity-targets>div{width:100%;font-size:12px}}

.activity-map-disclosure{margin:16px 0;border:1px solid #e4e9de;border-radius:8px;padding:12px;font-size:12px;color:#6b815e}.activity-map-disclosure summary{cursor:pointer;line-height:1.7}.activity-map-disclosure[open] summary{margin-bottom:14px}.activity-map-disclosure .field{margin-top:12px}.activity-record-result{display:flex;flex-wrap:wrap;gap:7px 14px;background:#f0f5e9;color:#5b794c;padding:10px 12px;border-radius:7px;font-size:12px;line-height:1.8;margin:0 0 16px}.activity-record-result b{font-weight:600}
.activity-round-modal #activityPreview{display:block}.activity-round-modal #activityPreview>b{display:block}.activity-round-modal #activityPreview ul{display:block;min-width:0}
.activity-quick-events button small{display:block;font-size:11px;color:#819573;margin-top:6px;line-height:1.6}

/* 猫鼠路线：节点中心与线段共用等分坐标，转弯不依赖固定像素。 */
.cat-route-board{position:relative;isolation:isolate;grid-template-columns:repeat(var(--route-cols),minmax(0,1fr));gap:0;margin:20px 0 16px}.cat-route-board .route-cell{margin:4px;aspect-ratio:auto;min-width:0;min-height:0;background:#f4f6ef;border:1px solid #e5eadf;border-radius:12px;color:#86977a}.cat-route-board .route-cell.passed{background:#edf4e6;border-color:#dce7d1}.cat-route-board .route-cell.current{background:#e1efd6;border:2px solid #518158}.cat-route-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:visible}.cat-route-lines path{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.cat-route-track{stroke:#bac9b0;stroke-width:3;stroke-dasharray:4 8}.cat-route-progress{stroke:#39775b;stroke-width:5}.cat-route-board .route-number{position:relative;z-index:2;min-width:24px;padding:3px 6px;border-radius:20px;background:#f4f6ef;text-align:center;font-size:12px;line-height:1.4;color:#829073}.cat-route-board .passed .route-number{background:#edf4e6;color:#486e3b;font-weight:600}.route-cat{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;width:clamp(30px,5vw,62px);max-width:72%;aspect-ratio:1;border:3px solid #fff;background:#fff9e9;border-radius:50%;box-shadow:0 3px 10px #315b3a26,0 0 0 2px #4d8158;flex-shrink:0}.route-cat svg{width:91%;height:91%;overflow:visible}.cat-route-legend{display:flex;gap:10px 20px;flex-wrap:wrap;align-items:center;margin:0 0 20px;color:#74846a;font-size:12px;line-height:1.8}.cat-route-legend>span{display:flex;align-items:center;gap:7px}.cat-route-legend i{width:24px;height:0;display:inline-block;border-top:4px solid #39775b;border-radius:3px}.cat-route-legend .dashed{border-top:3px dashed #bac9b0}.cat-route-legend .cat-location{margin-left:auto;color:#548048}
@media(max-width:760px){.cat-route-board .route-cell{margin:3px;border-radius:7px}.cat-route-board .route-number{font-size:10px;min-width:16px;padding:2px 3px}.cat-route-progress{stroke-width:4}.cat-route-track{stroke-width:2;stroke-dasharray:3 6}.route-cat{border-width:2px;box-shadow:0 2px 6px #315b3a26,0 0 0 1px #4d8158}.cat-route-legend{font-size:11px;gap:8px 15px}.cat-route-legend .cat-location{margin-left:0;width:100%}}

.cat-route-board{grid-template-rows:repeat(var(--route-rows),minmax(0,1fr))}

/* 订单详情：文字随可用宽度调整，路线按窗口高度限幅，不能随宽栏无限放大。 */
.main:has(.activity-layout){--activity-font:clamp(14px,calc(10px + .32vw),18px);--activity-small:clamp(12px,calc(9px + .25vw),16px);font-size:var(--activity-font)}
.main:has(.activity-layout) .detailhead h1{font-size:clamp(25px,1.45vw,36px);line-height:1.4;margin:6px 0 8px}
.main:has(.activity-layout) .sub,.main:has(.activity-layout) .back,.main:has(.activity-layout) .access-bar small,.main:has(.activity-layout) .pill{font-size:var(--activity-small)}
.main:has(.activity-layout) .heading.detailhead{margin-bottom:20px;gap:18px}
.main:has(.activity-layout) .access-bar{padding:12px 18px;margin-bottom:20px}
.main:has(.activity-layout) .btn{font-size:var(--activity-font);min-height:44px;padding:11px 18px}
.main:has(.activity-layout) .activity-layout{grid-template-columns:minmax(0,1fr) clamp(280px,18vw,380px);gap:clamp(18px,1.2vw,30px)}
.activity-layout>section{min-width:0}
.main:has(.activity-layout) .activity-stage{padding:clamp(20px,1.3vw,32px)}
.activity-layout .activity-how{padding-bottom:18px;margin-bottom:18px}
.activity-layout .activity-how h2,.activity-layout .paneltitle h2{font-size:clamp(18px,.95vw,24px)}
.activity-layout .activity-how p{font-size:var(--activity-font);line-height:1.7}
.activity-layout .activity-how .activity-how-rule,.activity-layout .activity-route-title,.activity-layout .activity-route-foot,.activity-layout .cat-route-legend{font-size:var(--activity-small)}
.activity-layout .activity-primary-status{font-size:clamp(19px,1vw,25px)}
.activity-layout .activity-agreement,.activity-layout .detailrow{font-size:var(--activity-font);overflow-wrap:anywhere}
.activity-layout .panelbody>p{line-height:1.7}
.activity-layout .cat-route-board{--route-board-height:clamp(220px,calc(100dvh - 530px),560px);width:min(100%,calc(var(--route-board-height) * var(--route-aspect)));margin:16px auto}
.cat-route-board .route-number{font-size:clamp(12px,.62vw,16px)}
@media(max-width:1200px){
 .main:has(.activity-layout) .activity-layout{grid-template-columns:minmax(0,1fr)}
 .activity-layout .activity-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
 .activity-layout .activity-agreement{margin-top:0}
}
@media(max-width:760px){
 .main:has(.activity-layout) .content{padding:18px 14px 90px}
 .main:has(.activity-layout) .activity-stage{padding:16px}
 .main:has(.activity-layout) .detailhead h1{font-size:24px}
 .main:has(.activity-layout) .access-bar{padding:10px 12px;margin-bottom:14px}
 .activity-layout .activity-how h2{font-size:18px}
 .activity-layout .activity-how p{font-size:14px}
 .activity-layout .activity-sidebar{grid-template-columns:minmax(0,1fr)}
 .activity-layout .cat-route-board{width:100%;max-width:540px}
 .cat-route-board .route-number{font-size:12px}
 .activity-layout .cat-route-legend{gap:8px 12px;font-size:12px}
}

@media(min-width:761px){
 .main:has(.activity-layout) .access-bar>div{display:flex;align-items:center;gap:14px}
 .main:has(.activity-layout) .access-bar small{margin:0;line-height:1.5}
 .main:has(.activity-layout) .access-bar{padding-block:10px}
}

@media(min-width:761px){
 .main:has(.activity-layout)>.topbar{display:none}
 .main:has(.activity-layout)>.content{padding-top:24px}
 .main:has(.activity-layout) .back{margin-bottom:10px}
 .main:has(.activity-layout) .heading.detailhead{margin-bottom:16px}
 .main:has(.activity-layout) .access-bar{margin-bottom:14px}
}

.cat-kill-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.cat-kill-fields .field{min-width:0;font-size:14px}.cat-kill-fields input{width:100%;min-width:0}.cat-legacy-note{font-size:13px;line-height:1.7;color:#8d744b;padding:12px;background:#fcf6e9;border-radius:8px}@media(max-width:400px){.cat-kill-fields{grid-template-columns:1fr}}
