


:root {

    --p-50:  255 251 235;
    --p-100: 254 243 199;
    --p-200: 253 230 138;
    --p-300: 252 211 77;
    --p-400: 251 191 36;
    --p-500: 245 158 11;
    --p-600: 217 119 6;
    --p-700: 180 83 9;
    --p-800: 146 64 14;
    --p-900: 120 53 15;


    --bg: 9 9 9;
    --bg-card: 22 22 22;
    --bg-card-soft: 31 31 31;
    --border: 42 42 42;
    --border-soft: 58 58 58;
    --text: 229 229 229;
    --text-dim: 168 162 158;
    --text-muted: 120 113 108;
    --note: 245 245 244;


    --surface-1: 15 23 42;
    --surface-2: 30 41 59;
    --surface-3: 51 65 85;
    --content: 203 213 225;
    --heading: 241 245 249;
    --muted-content: 148 163 184;
    --link: 96 165 250;
    --link-hover: 147 197 253;


    --s-text-100: 245 245 245;
    --s-text-200: 245 245 245;
    --s-text-300: 245 245 245;
    --s-text-400: 245 245 245;
    --s-text-500: 245 245 245;
    --s-text-600: 245 245 245;
    --s-text-700: 245 245 245;
    --s-text-800: 245 245 245;
    --s-text-900: 245 245 245;


    --s-bg-700: 39 39 42;
    --s-bg-800: 24 24 27;
    --s-bg-900: 9 9 9;
}


html, body {
    background-color: rgb(var(--bg));
    color: rgb(var(--text));
}

html {
    min-height: 100%;
}
body {
    min-height: 100vh;
}


[data-mode="light"] {
    --bg: 250 250 250;
    --bg-card: 255 255 255;
    --bg-card-soft: 244 244 245;
    --border: 226 232 240;
    --border-soft: 203 213 225;
    --text: 24 24 27;
    --text-dim: 82 82 91;
    --text-muted: 113 113 122;
    --note: 24 24 27;

    --surface-1: 248 250 252;
    --surface-2: 241 245 249;
    --surface-3: 203 213 225;
    --content: 51 65 85;
    --heading: 15 23 42;
    --muted-content: 100 116 139;
    --link: 37 99 235;
    --link-hover: 29 78 216;


    --s-text-100: 24 24 27;
    --s-text-200: 24 24 27;
    --s-text-300: 39 39 42;
    --s-text-400: 63 63 70;
    --s-text-500: 82 82 91;
    --s-text-600: 113 113 122;
    --s-text-700: 63 63 70;
    --s-text-800: 39 39 42;
    --s-text-900: 24 24 27;


    --s-bg-700: 241 245 249;
    --s-bg-800: 226 232 240;
    --s-bg-900: 203 213 225;
}


.theme-panel {
    position: fixed;
    z-index: 100;

    background: rgb(var(--bg-card));
    border: 1px solid rgb(var(--border));
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
    padding: 12px;
    color: rgb(var(--text));
}


::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: rgb(var(--surface-1));
}
::-webkit-scrollbar-thumb {
    background: rgb(var(--surface-3));
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgb(var(--surface-3));
}


::selection {
    background-color: rgba(16, 185, 129, 0.3);
    color: rgb(var(--heading));
}


.article-content {
    line-height: 1.8;
    color: rgb(var(--content));
}
.article-content h1, .article-content h2, .article-content h3, .article-content h4 {
    color: rgb(var(--heading));
    font-weight: 700;
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}
.article-content h1 { font-size: 1.75rem; }
.article-content h2 { font-size: 1.5rem; }
.article-content h3 { font-size: 1.25rem; }
.article-content p { margin: 0.75rem 0; }
.article-content ul, .article-content ol { margin: 0.75rem 0; padding-left: 1.5rem; }
.article-content ul { list-style: disc; }
.article-content ol { list-style: decimal; }
.article-content li { margin: 0.25rem 0; }
.article-content a { color: rgb(var(--link)); text-decoration: underline; }
.article-content a:hover { color: rgb(var(--link-hover)); }
.article-content code {
    background: rgb(var(--surface-2));
    color: rgb(110 231 183);
    padding: 0.125rem 0.375rem;
    border-radius: 0.25rem;
    font-family: var(--tarkov-font) !important;
    font-size: 0.9em;
}
.article-content pre {
    background: rgb(var(--surface-1));
    border: 1px solid rgb(var(--surface-3));
    padding: 1rem;
    border-radius: 0.5rem;
    overflow-x: auto;
    margin: 1rem 0;
}
.item-content-block-wide{grid-column:span 2/span 2}.item-content-block-full{grid-column:1/-1}
.article-content pre code {
    background: transparent;
    color: rgb(var(--content));
    padding: 0;
}
.article-content blockquote {
    border-left: 4px solid #10b981;
    background: rgba(16, 185, 129, 0.05);
    padding: 0.75rem 1rem;
    margin: 1rem 0;
    color: rgb(var(--muted-content));
}
.article-content img {
    max-width: 100%;
    border-radius: 0.5rem;
    margin: 1rem 0;
}
.article-content table {
    border-collapse: collapse;
    width: 100%;
    margin: 1rem 0;
}
.article-content th, .article-content td {
    border: 1px solid rgb(var(--surface-3));
    padding: 0.5rem 0.75rem;
    text-align: left;
}
.article-content th { background: rgb(var(--surface-2)); color: rgb(var(--heading)); }


.ceremony-page{color:rgb(var(--text))}.ceremony-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.ceremony-head h1{display:flex;align-items:center;gap:11px;margin:0;font-size:28px;font-weight:700;color:rgb(var(--text))}.ceremony-head h1 i,.ceremony-fold summary i:first-child{color:rgb(var(--p-500))}.ceremony-head nav{display:flex;gap:8px;flex:none}.ceremony-head nav a,.ceremony-presets button{border:1px solid rgb(var(--border));border-radius:9px;padding:9px 15px;color:rgb(var(--text));background:rgb(var(--bg-card));font-size:14px}.ceremony-head nav a.is-active,.ceremony-presets button.is-active{border-color:rgb(var(--p-500));color:rgb(var(--p-500));background:rgb(var(--p-500)/.09)}.ceremony-count-picker{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:-2px 0 20px}.ceremony-count-picker button{border:1px solid rgb(var(--border));border-radius:9px;padding:9px 16px;color:rgb(var(--text));background:rgb(var(--bg-card));font-size:14px;transition:background .15s,border-color .15s,color .15s}.ceremony-count-picker button:hover{background:rgb(var(--bg-card-soft))}.ceremony-count-picker button.is-active{border-color:rgb(var(--p-500));color:#fff;background:rgb(var(--p-500))}
.ceremony-calculator,.ceremony-fold{border:1px solid rgb(var(--border));border-radius:14px;background:rgb(var(--bg-card));margin-bottom:18px}.ceremony-calculator{padding:24px}.ceremony-threshold-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.ceremony-threshold-head h2{font-size:20px;font-weight:700;color:rgb(var(--text));margin:0 0 5px}.ceremony-threshold-head p{margin:0;color:rgb(var(--text));font-size:14px}.ceremony-threshold-head output{font-size:24px;font-weight:700;color:rgb(var(--p-500));white-space:nowrap}.ceremony-range{display:block;width:100%;accent-color:rgb(var(--p-500));margin:24px 0 14px}.ceremony-presets{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.ceremony-calculate-btn{width:100%;border:0;border-radius:9px;background:rgb(var(--p-500));color:#fff;font-weight:700;padding:13px 18px}.ceremony-calculate-btn:disabled{opacity:.65}.ceremony-smart-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:9px 0 0;font-size:12px;color:rgb(var(--text-muted))}.ceremony-smart-note i{color:rgb(var(--p-500))}.ceremony-result{margin-top:22px}.ceremony-result-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.ceremony-result-summary>div{background:rgb(var(--bg-card-soft));border:1px solid rgb(var(--border));border-radius:10px;padding:14px;text-align:center}.ceremony-result-summary span{display:block;font-size:13px;margin-bottom:3px}.ceremony-result-summary strong{font-size:20px;color:rgb(var(--text))}.ceremony-result-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.ceremony-result-items.ceremony-result-count-1{grid-template-columns:minmax(0,1fr);width:calc((100% - 48px)/5);margin-inline:auto}.ceremony-result-items.ceremony-result-count-2{grid-template-columns:repeat(2,minmax(0,1fr));width:calc((100% - 48px)/5*2 + 12px);margin-inline:auto}.ceremony-result-items.ceremony-result-count-3{grid-template-columns:repeat(3,minmax(0,1fr));width:calc((100% - 48px)/5*3 + 24px);margin-inline:auto}.ceremony-result-items.ceremony-result-count-4{grid-template-columns:repeat(4,minmax(0,1fr));width:calc((100% - 48px)/5*4 + 36px);margin-inline:auto}.ceremony-result-items.ceremony-result-count-5{width:100%;margin-inline:0}.ceremony-result-item,.ceremony-recipe-item{display:flex;align-items:center;gap:12px;border:1px solid rgb(var(--border));border-radius:10px;background:rgb(var(--bg-card));padding:11px;color:rgb(var(--text));transition:background .15s,border-color .15s}.ceremony-result-item:hover,.ceremony-recipe-item:hover{background:rgb(var(--bg-card-soft))}.ceremony-result-item img,.ceremony-recipe-item img{width:64px;height:64px;object-fit:contain;border-radius:7px;background:rgb(var(--bg-card-soft));flex:none}.ceremony-result-item span,.ceremony-recipe-item span{min-width:0}.ceremony-result-item b,.ceremony-recipe-item b{display:block;color:rgb(var(--text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ceremony-result-item small,.ceremony-recipe-item small{display:block;margin-top:4px;font-size:12px;color:rgb(var(--text))}.ceremony-empty{text-align:center;padding:24px 0 3px;color:rgb(var(--text))}
.ceremony-fold{overflow:hidden}.ceremony-fold>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;padding:18px 20px;font-size:18px;font-weight:700;color:rgb(var(--text))}.ceremony-fold>summary::-webkit-details-marker{display:none}.ceremony-fold>summary span{display:flex;align-items:center;gap:10px}.ceremony-fold>summary>i{transition:transform .2s}.ceremony-fold[open]>summary>i{transform:rotate(180deg)}.ceremony-fold-body{border-top:1px solid rgb(var(--border));padding:18px;display:grid;gap:14px}.ceremony-recipe{border:1px solid rgb(var(--border));border-radius:11px;padding:16px;background:rgb(var(--bg-card))}.ceremony-recipe-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.ceremony-recipe-title h3{font-size:17px;font-weight:700;color:rgb(var(--text));margin:0 0 4px}.ceremony-recipe-title span{font-size:13px}.ceremony-recipe-title b{color:rgb(var(--p-500))}.ceremony-recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.ceremony-recipe-item{background:rgb(var(--bg-card))}.ceremony-recipe-item img{width:52px;height:52px}.ceremony-fixed-flow{display:grid;grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);align-items:center;gap:20px;min-height:110px}.ceremony-fixed-side{align-self:stretch;display:flex;min-width:0;flex-direction:column;justify-content:center}.ceremony-fixed-side .ceremony-recipe-grid{grid-template-columns:minmax(0,1fr)}.ceremony-fixed-flow h4{color:rgb(var(--text));font-size:14px;font-weight:700;margin:0 0 9px}.ceremony-duration{align-self:center;display:grid;justify-items:center;gap:6px;width:100px;text-align:center;position:relative}.ceremony-duration:before,.ceremony-duration:after{content:"";position:absolute;top:50%;width:20px;border-top:1px solid rgb(var(--border))}.ceremony-duration:before{right:100%}.ceremony-duration:after{left:100%}.ceremony-duration span{font-size:12px;color:rgb(var(--text))}.ceremony-duration b{font-size:17px;color:rgb(var(--text))}.ceremony-recipe-item.is-reward{border-color:rgb(var(--border))}
@media(max-width:800px){.ceremony-page{padding:22px 12px}.ceremony-head h1{font-size:23px}.ceremony-head h1 i{font-size:18px}.ceremony-head nav{gap:6px}.ceremony-head nav a{padding:8px 11px}.ceremony-calculator{padding:17px}.ceremony-threshold-head{align-items:flex-start}.ceremony-threshold-head p{display:none}.ceremony-threshold-head output{font-size:19px}.ceremony-result-items{grid-template-columns:1fr}.ceremony-result-items.ceremony-result-count-1,.ceremony-result-items.ceremony-result-count-2,.ceremony-result-items.ceremony-result-count-3,.ceremony-result-items.ceremony-result-count-4,.ceremony-result-items.ceremony-result-count-5{grid-template-columns:1fr;width:100%;margin-inline:0}.ceremony-result-item img{width:58px;height:58px}.ceremony-fixed-flow{grid-template-columns:1fr}.ceremony-duration{width:100%;box-sizing:border-box;padding:12px 0}.ceremony-duration:before,.ceremony-duration:after{display:none}.ceremony-result-summary strong{font-size:17px}.ceremony-fold>summary{font-size:17px;padding:16px}.ceremony-fold-body{padding:12px}.ceremony-recipe{padding:13px}.ceremony-recipe-grid,.ceremony-fixed-side .ceremony-recipe-grid{grid-template-columns:1fr}}

.ceremony-fixed-side{justify-content:flex-start}.ceremony-threshold-guide{width:100%;box-sizing:border-box;margin-top:18px;border:1px solid rgb(var(--border));border-radius:11px;overflow:hidden;background:rgb(var(--bg-card))}.ceremony-threshold-guide h3{margin:0;padding:14px 17px;border-bottom:1px solid rgb(var(--border));font-size:16px;color:rgb(var(--text))}.ceremony-threshold-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 17px;color:rgb(var(--text));border-left:3px solid transparent}.ceremony-threshold-row+.ceremony-threshold-row{border-top:1px solid rgb(var(--border))}.ceremony-threshold-row b{white-space:nowrap}.ceremony-threshold-row.is-active{border-left-color:rgb(var(--p-500));background:rgb(var(--p-500)/.08)}.ceremony-threshold-row.is-active b{color:rgb(var(--p-500))}

.ceremony-duration:before,.ceremony-duration:after{display:none}


.exchange-page{color:rgb(var(--text))}.exchange-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.exchange-head h1{display:flex;align-items:center;gap:.65rem;font-size:1.5rem;font-weight:700;white-space:nowrap}.exchange-head h1 i{color:rgb(var(--p-500))}.exchange-head nav,.exchange-levels{display:flex;align-items:center;gap:.45rem}.exchange-head nav a,.exchange-levels a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.4rem .8rem;border:1px solid rgb(var(--border));border-radius:.55rem;background:rgb(var(--bg-card));font-size:.82rem;font-weight:600;white-space:nowrap}.exchange-head nav a.is-active,.exchange-levels a.is-active{border-color:rgb(var(--p-500));background:rgb(var(--p-500)/.1);color:rgb(var(--p-500))}.exchange-filters{display:grid;grid-template-columns:minmax(280px,1fr) 220px auto;align-items:end;gap:1rem;margin:1.5rem 0 1rem;padding:1rem;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card))}.exchange-search{display:flex;align-items:center;gap:.65rem;height:40px;padding:0 .8rem;border:1px solid rgb(var(--border));border-radius:.5rem;background:rgb(var(--bg))}.exchange-search i{color:rgb(var(--text-muted))}.exchange-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:rgb(var(--text))}.exchange-filters label{display:grid;gap:.4rem}.exchange-filters label span,.exchange-levels>span{font-size:.78rem;font-weight:700}.exchange-filters select{height:40px;padding:0 .75rem;border:1px solid rgb(var(--border));border-radius:.5rem;background:rgb(var(--bg));color:rgb(var(--text))}.exchange-levels{flex-wrap:wrap}.exchange-levels>span{width:100%}.exchange-summary{margin:.85rem 0;font-size:.8rem;color:rgb(var(--text))}.exchange-table-wrap{overflow:auto;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card))}.exchange-table{width:100%;min-width:1250px;table-layout:fixed;border-collapse:collapse;font-size:.8rem}.exchange-table th,.exchange-table td{padding:.65rem .7rem;border-right:1px solid rgb(var(--border));border-bottom:1px solid rgb(var(--border));text-align:center;vertical-align:middle}.exchange-table th:last-child,.exchange-table td:last-child{border-right:0}.exchange-table tbody tr:last-child td{border-bottom:0}.exchange-table th{background:rgb(var(--bg-card-soft));font-weight:700}.exchange-table th:nth-child(1){width:24%}.exchange-table th:nth-child(2){width:28%}.exchange-table th:nth-child(3){width:9%}.exchange-table th:nth-child(4){width:6%}.exchange-table th:nth-child(5),.exchange-table th:nth-child(6),.exchange-table th:nth-child(7){width:9%}.exchange-table th:nth-child(8){width:6%}.exchange-table tbody tr:hover{background:rgb(var(--bg-card-soft))}.exchange-reward,.exchange-material{display:flex;align-items:center;gap:.7rem;min-width:0;color:rgb(var(--text));text-align:left}.exchange-reward img,.exchange-material img{width:52px;height:52px;flex:0 0 52px;object-fit:contain;border-radius:.4rem;background:rgb(var(--bg-card-soft))}.exchange-reward span,.exchange-material span{display:flex;min-width:0;flex-direction:column;gap:.15rem}.exchange-reward b,.exchange-material b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exchange-reward small,.exchange-material small{font-size:.72rem;color:rgb(var(--text))}.exchange-reward:hover b,.exchange-material:hover b{color:rgb(var(--p-500))}.exchange-materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.exchange-material{padding:.35rem;border:1px solid rgb(var(--border));border-radius:.45rem;background:rgb(var(--bg-card))}.exchange-material img{width:38px;height:38px;flex-basis:38px}.exchange-profit{color:#15803d;font-weight:700}.exchange-empty{padding:5rem 1rem;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card));text-align:center}.exchange-sentinel{min-height:2.5rem;padding:.75rem;text-align:center;font-size:.78rem}html[data-mode="dark"] .exchange-profit{color:#4ade80}
@media(max-width:760px){.exchange-page{padding:1.25rem .625rem}.exchange-head{gap:.5rem}.exchange-head h1{font-size:1.3rem}.exchange-head nav{margin-left:auto;gap:.3rem}.exchange-head nav a{padding:.35rem .6rem}.exchange-filters{grid-template-columns:1fr;margin-top:1.1rem;padding:.75rem}.exchange-levels{flex-wrap:nowrap;overflow-x:auto}.exchange-levels>span{display:none}.exchange-levels a{flex:0 0 auto}.exchange-table-wrap{overflow:visible;border:0;background:transparent}.exchange-table{display:block;width:100%;min-width:0}.exchange-table thead{display:none}.exchange-table tbody{display:grid;gap:.75rem}.exchange-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card))}.exchange-table td{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.6rem;width:auto!important;padding:.65rem .75rem;border-right:0;border-bottom:1px solid rgb(var(--border));text-align:right}.exchange-table td:nth-child(odd):not(:first-child){border-left:1px solid rgb(var(--border))}.exchange-table td:first-child,.exchange-table td:nth-child(2){display:block;grid-column:1/-1;text-align:left}.exchange-table td::before{font-size:.72rem;font-weight:700;text-align:left}.exchange-table td:first-child::before,.exchange-table td:nth-child(2)::before{display:block;margin-bottom:.45rem}.exchange-table td:first-child::before{content:'获得物品'}.exchange-table td:nth-child(2)::before{content:'所需材料'}.exchange-table td:nth-child(3)::before{content:'商人'}.exchange-table td:nth-child(4)::before{content:'等级'}.exchange-table td:nth-child(5)::before{content:'材料成本'}.exchange-table td:nth-child(6)::before{content:'跳蚤售价'}.exchange-table td:nth-child(7)::before{content:'利润'}.exchange-table td:nth-child(8)::before{content:'数量'}.exchange-table td:nth-child(7),.exchange-table td:nth-child(8){border-bottom:0}.exchange-materials{grid-template-columns:1fr}.exchange-reward img{width:48px;height:48px;flex-basis:48px}}

.exchange-profit.is-negative{color:#dc2626!important}html[data-mode="dark"] .exchange-profit.is-negative{color:#f87171!important}
.exchange-filters{display:block!important;margin:1.5rem 0 1rem!important;padding:0!important;border:0!important;background:transparent!important}.exchange-search{display:block!important;width:100%;height:auto!important;padding:1rem!important;border:1px solid rgb(var(--border))!important;border-radius:.75rem!important;background:rgb(var(--bg-card))!important}.exchange-search input{display:block;width:100%;height:40px;padding:0 .8rem!important;border:1px solid rgb(var(--border))!important;border-radius:.4rem;background:rgb(var(--bg))!important;color:rgb(var(--text));font-size:.875rem;outline:none}.exchange-search input:focus{border-color:rgb(var(--p-500))!important;box-shadow:0 0 0 2px rgb(var(--p-500)/.1)}.exchange-filter-row{display:flex;align-items:flex-end;justify-content:flex-start;gap:1rem;margin-top:1rem}.exchange-filter-row>label{width:260px}.exchange-filter-row .exchange-levels{align-self:flex-end}
@media(max-width:760px){.exchange-search{padding:.75rem!important}.exchange-filter-row{display:grid;grid-template-columns:1fr;gap:.75rem}.exchange-filter-row>label{width:100%}.exchange-filter-row .exchange-levels{width:100%;overflow-x:auto}}


.task-card {
    transition: all 0.2s ease;
}
.task-card:hover {
    transform: translateX(4px);
    border-color: #10b981;
}


.item-card {
    transition: all 0.2s ease;
}
.item-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
    border-color: rgb(var(--surface-3));
}


@keyframes checkPop {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}
.checkbox-checked {
    animation: checkPop 0.3s ease-out;
}


.mode-switcher {
    display: inline-flex;
    background: rgb(var(--surface-2));
    border-radius: 0.5rem;
    padding: 0.25rem;
    gap: 0.125rem;
}
.mode-switcher button {
    padding: 0.375rem 0.875rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    color: rgb(var(--muted-content));
    transition: all 0.15s;
}
.mode-switcher button:hover {
    color: rgb(var(--heading));
}
.mode-switcher button.active {
    background: #10b981;
    color: #fff;
    font-weight: 500;
}


@media (max-width: 768px) {
    .mobile-menu {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 60;
        display: none;
    }
    .mobile-menu.open {
        display: block;
    }
    .mobile-menu-panel {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 16rem;
        background: rgb(var(--surface-1));
        border-right: 1px solid rgb(var(--surface-2));
        overflow-y: auto;
        transform: translateX(-100%);
        transition: transform 0.3s ease;
    }
    .mobile-menu.open .mobile-menu-panel {
        transform: translateX(0);
    }
}


@keyframes spin {
    to { transform: rotate(360deg); }
}
.spinner {
    width: 1.5rem;
    height: 1.5rem;
    border: 2px solid rgb(var(--surface-3));
    border-top-color: #10b981;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}


[data-tooltip] {
    position: relative;
}
[data-tooltip]:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: rgb(var(--surface-2));
    color: rgb(var(--heading));
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.75rem;
    white-space: nowrap;
    z-index: 50;
    margin-bottom: 0.25rem;
    border: 1px solid rgb(var(--surface-3));
}


.card-hover {
    transition: all 0.2s ease;
}
.card-hover:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}


.text-balance { text-wrap: balance; }
.text-pretty { text-wrap: pretty; }


input:focus, select:focus, textarea:focus, button:focus {
    outline: none;
}


a {
    transition: color 0.15s;
}


html.theme-circle-active body,
html.theme-circle-active body *,
html.theme-circle-active body *::before,
html.theme-circle-active body *::after {
    transition: none !important;
    animation: none !important;
}


html.theme-changing body,
html.theme-changing body *,
html.theme-changing body *::before,
html.theme-changing body *::after {
    transition: background-color 0.22s ease, border-color 0.22s ease, color 0.22s ease !important;
}


::view-transition-group(root) {
    animation-duration: 0s !important;
}

::view-transition-image-pair(root) {
    isolation: isolate;
}

::view-transition-old(root),
::view-transition-new(root) {
    animation: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
    width: 100%;
    height: 100%;
}


html.theme-vt-going-dark::view-transition-old(root) {
    z-index: 1;
    clip-path: none !important;
}
html.theme-vt-going-dark::view-transition-new(root) {
    z-index: 2;
    clip-path: circle(0px at var(--theme-vt-x) var(--theme-vt-y));
}


html.theme-vt-going-light::view-transition-new(root) {
    z-index: 1;
    clip-path: none !important;
}
html.theme-vt-going-light::view-transition-old(root) {
    z-index: 2;
    clip-path: circle(var(--theme-vt-r) at var(--theme-vt-x) var(--theme-vt-y));
}


#mobile-menu .mobile-theme-hover:hover,
#mobile-menu .mobile-theme-hover:focus-visible {
    border-color: rgb(var(--p-500)) !important;
}
#mobile-menu .mobile-mode-active {
    background-color: rgb(var(--p-500)) !important;
    border-color: rgb(var(--p-500)) !important;
    color: #fff !important;
}


#mobile-menu .mobile-front-nav-link,
#mobile-menu .mobile-front-account-link {
    position: relative;
    color: rgb(var(--text)) !important;
    background-color: transparent !important;
    transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
#mobile-menu .mobile-front-nav-link i {
    color: rgb(var(--text-muted)) !important;
    transition: color .15s ease;
}
#mobile-menu .mobile-front-nav-link:hover,
#mobile-menu .mobile-front-account-link:hover {
    color: rgb(var(--text)) !important;
    background-color: rgb(var(--bg-card-soft)) !important;
}
#mobile-menu .mobile-front-nav-link:hover i {
    color: rgb(var(--text)) !important;
}
#mobile-menu .mobile-front-nav-link.is-active {
    color: rgb(var(--p-400)) !important;
    background-color: rgb(var(--p-500) / .16) !important;
    box-shadow: inset 3px 0 0 rgb(var(--p-500));
}
#mobile-menu .mobile-front-nav-link.is-active i {
    color: rgb(var(--p-400)) !important;
}
#mobile-menu .mobile-front-nav-link.is-active:hover {
    color: rgb(var(--p-300)) !important;
    background-color: rgb(var(--p-500) / .22) !important;
}
#mobile-menu .mobile-front-nav-link.is-active:hover i {
    color: rgb(var(--p-300)) !important;
}
html[data-mode="light"] #mobile-menu .mobile-front-nav-link,
html[data-mode="light"] #mobile-menu .mobile-front-account-link {
    color: rgb(39 39 42) !important;
}
html[data-mode="light"] #mobile-menu .mobile-front-nav-link i {
    color: rgb(113 113 122) !important;
}
html[data-mode="light"] #mobile-menu .mobile-front-nav-link:hover,
html[data-mode="light"] #mobile-menu .mobile-front-account-link:hover {
    color: rgb(24 24 27) !important;
    background-color: rgb(244 244 245) !important;
}
html[data-mode="light"] #mobile-menu .mobile-front-nav-link:hover i {
    color: rgb(24 24 27) !important;
}
html[data-mode="light"] #mobile-menu .mobile-front-nav-link.is-active {
    color: rgb(var(--p-600)) !important;
    background-color: rgb(var(--p-500) / .12) !important;
    box-shadow: inset 3px 0 0 rgb(var(--p-500));
}
html[data-mode="light"] #mobile-menu .mobile-front-nav-link.is-active i {
    color: rgb(var(--p-600)) !important;
}
html[data-mode="light"] #mobile-menu .mobile-front-nav-link.is-active:hover {
    color: rgb(var(--p-700)) !important;
    background-color: rgb(var(--p-500) / .18) !important;
}


.login-link:hover {
    background-color: rgb(38 38 38);
}
html[data-mode="light"] .login-link:hover {
    background-color: rgb(241 245 249);
}


#hideout-cards .module-card {
    content-visibility: auto;
    contain-intrinsic-size: auto 420px;
}


.site-mode-dropdown-btn {
    width: 82px;
    min-width: 82px;
}


.tarkov-dropdown[data-dropdown="mode"] .tarkov-dropdown-menu {
    width: 82px;
    min-width: 82px;
    right: auto;
}


.back-to-top {
    position: fixed;
    right: 22px;
    bottom: 24px;
    z-index: 45;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid rgb(var(--p-300) / .46);
    border-radius: 50%;
    background: linear-gradient(145deg, rgb(var(--p-500)), rgb(var(--p-700)));
    color: #fff;
    font-size: 17px;
    line-height: 1;
    box-shadow: 0 7px 20px rgb(var(--p-700) / .28), 0 3px 9px rgb(0 0 0 / .20);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px) scale(.84);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease,
                background-color .16s ease, border-color .16s ease, color .16s ease,
                box-shadow .16s ease;
}
.back-to-top i {
    transform: translateY(1px) rotate(-45deg);
    transition: transform .18s ease;
}
.back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}
.back-to-top:hover,
.back-to-top:focus-visible {
    color: #fff;
    border-color: rgb(var(--p-200) / .75);
    background: linear-gradient(145deg, rgb(var(--p-400)), rgb(var(--p-600)));
    box-shadow: 0 10px 26px rgb(var(--p-700) / .36), 0 5px 12px rgb(0 0 0 / .22);
    transform: translateY(-3px) scale(1.04);
    outline: none;
}
.back-to-top:hover i,
.back-to-top:focus-visible i {
    transform: translateY(-3px) rotate(-45deg);
}
.back-to-top:active {
    transform: translateY(-1px) scale(.96);
}
html[data-mode="light"] .back-to-top {
    color: #fff;
    border-color: rgb(var(--p-600) / .30);
    background: linear-gradient(145deg, rgb(var(--p-500)), rgb(var(--p-700)));
    box-shadow: 0 7px 20px rgb(var(--p-600) / .24), 0 3px 9px rgb(15 23 42 / .13);
}
html[data-mode="light"] .back-to-top:hover,
html[data-mode="light"] .back-to-top:focus-visible {
    color: #fff;
    border-color: rgb(var(--p-700) / .42);
    background: linear-gradient(145deg, rgb(var(--p-400)), rgb(var(--p-600)));
    box-shadow: 0 10px 25px rgb(var(--p-600) / .30), 0 5px 12px rgb(15 23 42 / .15);
}
@media (max-width: 767px) {
    .back-to-top {
        right: 14px;
        bottom: 18px;
        width: 42px;
        height: 42px;
        font-size: 15px;
    }
}


.task-kappa-filter-label {
    color: #93c5fd !important;
}
.task-kappa-filter-checkbox {
    accent-color: #3b82f6 !important;
}


.task-hint {
    color: rgb(var(--p-200));
    background: rgb(var(--p-500) / .10);
    border: 1px solid rgb(var(--p-500) / .42);
}
.task-hint > i {
    color: rgb(var(--p-400));
}
html[data-mode="light"] .task-hint {
    color: rgb(var(--p-800));
    background: rgb(var(--p-500) / .08);
    border-color: rgb(var(--p-500) / .42);
}
html[data-mode="light"] .task-hint > i {
    color: rgb(var(--p-600));
}
.task-objective-index {
    color: #d6d3d1;
    background: #292524;
    border: 1px solid #57534e;
}
html[data-mode="light"] .task-objective-index {
    color: #475569;
    background: #e2e8f0;
    border-color: #cbd5e1;
}


.profile-task-row {
    transition: background-color .16s ease, border-color .16s ease;
}
.profile-task-row:hover {
    background: rgb(var(--p-500) / .08) !important;
}
html[data-mode="light"] .profile-task-row:hover {
    background: rgb(var(--p-500) / .07) !important;
}


.task-dspt-filter-label {
    color: #fdba74 !important;
}


.tarkov-confirm-panel {
    background: #161616;
    border: 1px solid #2a2a2a;
}
.tarkov-confirm-title {
    color: #f5f5f4;
}
.tarkov-confirm-message {
    color: #d6d3d1;
}
.tarkov-confirm-cancel {
    background: #292524;
    color: #e7e5e4;
    border: 1px solid #44403c;
}
.tarkov-confirm-cancel:hover {
    background: #3f3f46;
}
html[data-mode="light"] .tarkov-confirm-panel {
    background: #ffffff;
    border-color: #e2e8f0;
}
html[data-mode="light"] .tarkov-confirm-title {
    color: #18181b;
}
html[data-mode="light"] .tarkov-confirm-message {
    color: #3f3f46;
}
html[data-mode="light"] .tarkov-confirm-cancel {
    background: #e2e8f0;
    color: #18181b;
    border-color: #cbd5e1;
}
html[data-mode="light"] .tarkov-confirm-cancel:hover {
    background: #cbd5e1;
}


.storyline-status-card,
.storyline-nav-card {
    background: #161616 !important;
    border-color: #2a2a2a !important;
}
.storyline-side-label,
.storyline-nav-title { color: #e7e5e4 !important; }
.storyline-nav-count { color: #78716c !important; }
.storyline-nav-icon { color: rgb(var(--p-400)) !important; }
.storyline-nav-head { border-color: #2a2a2a !important; }
.storyline-nav-item { background: transparent !important; }
.storyline-nav-item .nav-index {
    color: #a8a29e !important;
    background: #292524 !important;
    border: 1px solid #44403c !important;
}
.storyline-nav-item .nav-title { color: #d6d3d1 !important; }
.storyline-nav-item:hover,
.storyline-nav-item.is-current {
    background: rgb(var(--p-500) / .12) !important;
}
.storyline-nav-item:hover .nav-index,
.storyline-nav-item.is-current .nav-index {
    color: rgb(var(--p-300)) !important;
    background: rgb(var(--p-500) / .18) !important;
    border-color: rgb(var(--p-500) / .38) !important;
}
.storyline-nav-item:hover .nav-title,
.storyline-nav-item.is-current .nav-title { color: rgb(var(--p-300)) !important; }
.storyline-nav-item .nav-index.is-done {
    color: #34d399 !important;
    background: rgb(16 185 129 / .18) !important;
    border-color: rgb(16 185 129 / .38) !important;
}
.storyline-nav-item .nav-title.is-done { color: #34d399 !important; text-decoration: none !important; }
.storyline-mobile-nav-panel { background: #161616 !important; border-color: #2a2a2a !important; }
.storyline-mobile-nav-head { border-color: #2a2a2a !important; }
.storyline-mobile-nav-title { color: #f5f5f4 !important; }
.storyline-mobile-nav-help { color: #78716c !important; }
.storyline-mobile-nav-close { background: #292524 !important; color: #d6d3d1 !important; }
.storyline-complete-btn[data-complete="0"] {
    color: #d6d3d1;
    background: #292524;
    border: 1px solid #44403c;
}
.storyline-complete-btn[data-complete="0"]:hover {
    color: rgb(var(--p-300));
    border-color: rgb(var(--p-500) / .55);
    background: rgb(var(--p-500) / .12);
}
.storyline-complete-btn[data-complete="1"] {
    color: white;
    background: #059669;
    border: 1px solid #10b981;
}
.storyline-jump-comments {
    color: rgb(var(--p-300));
    background: rgb(var(--p-500) / .08);
    border: 1px solid rgb(var(--p-500) / .42);
}
.storyline-jump-comments:hover { background: rgb(var(--p-500) / .16); }

html[data-mode="light"] .storyline-status-card,
html[data-mode="light"] .storyline-nav-card {
    background: #fff !important;
    border-color: #dbe3ee !important;
}
html[data-mode="light"] .storyline-side-label,
html[data-mode="light"] .storyline-nav-title { color: #1f2937 !important; }
html[data-mode="light"] .storyline-nav-count { color: #64748b !important; }
html[data-mode="light"] .storyline-nav-head { border-color: #e2e8f0 !important; }
html[data-mode="light"] .storyline-nav-item .nav-index {
    color: #475569 !important;
    background: #f1f5f9 !important;
    border-color: #e2e8f0 !important;
}
html[data-mode="light"] .storyline-nav-item .nav-title { color: #334155 !important; }
html[data-mode="light"] .storyline-nav-item:hover,
html[data-mode="light"] .storyline-nav-item.is-current {
    background: rgb(var(--p-500) / .08) !important;
}
html[data-mode="light"] .storyline-nav-item:hover .nav-index,
html[data-mode="light"] .storyline-nav-item.is-current .nav-index {
    color: rgb(var(--p-700)) !important;
    background: rgb(var(--p-500) / .12) !important;
    border-color: rgb(var(--p-500) / .32) !important;
}
html[data-mode="light"] .storyline-nav-item:hover .nav-title,
html[data-mode="light"] .storyline-nav-item.is-current .nav-title { color: rgb(var(--p-700)) !important; }
html[data-mode="light"] .storyline-nav-item .nav-index.is-done {
    color: #047857 !important;
    background: #d1fae5 !important;
    border-color: #a7f3d0 !important;
}
html[data-mode="light"] .storyline-nav-item .nav-title.is-done { color: #059669 !important; }
html[data-mode="light"] .storyline-mobile-nav-panel { background: #fff !important; border-color: #dbe3ee !important; }
html[data-mode="light"] .storyline-mobile-nav-head { border-color: #e2e8f0 !important; }
html[data-mode="light"] .storyline-mobile-nav-title { color: #0f172a !important; }
html[data-mode="light"] .storyline-mobile-nav-help { color: #64748b !important; }
html[data-mode="light"] .storyline-mobile-nav-close { background: #e2e8f0 !important; color: #334155 !important; }
html[data-mode="light"] .storyline-complete-btn[data-complete="0"] {
    color: #334155;
    background: #e2e8f0;
    border-color: #cbd5e1;
}
html[data-mode="light"] .storyline-complete-btn[data-complete="0"]:hover {
    color: rgb(var(--p-700));
    border-color: rgb(var(--p-500) / .45);
    background: rgb(var(--p-500) / .08);
}
html[data-mode="light"] .storyline-jump-comments {
    color: rgb(var(--p-700));
    background: rgb(var(--p-500) / .06);
    border-color: rgb(var(--p-500) / .38);
}


.storyline-objective {
    background: #161616;
    border: 1px solid #2a2a2a;
    color: #e7e5e4;
}
.storyline-objective .obj-title { color: #f5f5f4; }
.storyline-objective .rich-guide-content {
    background: #161616;
    border-color: #2a2a2a;
    color: #d6d3d1;
}
.storyline-objective .obj-index {
    color: rgb(var(--p-400));
    background: rgb(var(--p-500) / .15);
}
.storyline-objective .obj-done-btn {
    width: 84px;
    min-width: 84px;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: 1px solid #44403c;
    color: #d6d3d1;
    background: #292524;
}
.storyline-objective .obj-done-btn:hover {
    border-color: rgb(var(--p-500));
    color: rgb(var(--p-400));
}
.storyline-objective[data-done="1"] {
    border-color: #2a2a2a;
}
.storyline-objective[data-done="1"] .obj-title { color: #34d399; }
.storyline-objective[data-done="1"] .obj-index {
    color: #34d399;
    background: rgb(16 185 129 / .18);
}
.storyline-objective[data-done="1"] .obj-done-btn {
    border-color: #10b981;
    color: #fff;
    background: #059669;
}
.storyline-objective[data-done="1"] .obj-done-btn:hover {
    border-color: #34d399;
    color: #fff;
    background: #047857;
}

html[data-mode="light"] .storyline-objective {
    background: #fff;
    border-color: #dbe3ee;
    color: #0f172a;
}
html[data-mode="light"] .storyline-objective .obj-title { color: #0f172a; }
html[data-mode="light"] .storyline-objective .rich-guide-content {
    background: #fff;
    border-color: #dbe3ee;
    color: #1f2937;
}
html[data-mode="light"] .storyline-objective .obj-index {
    color: rgb(var(--p-600));
    background: rgb(var(--p-500) / .12);
}
html[data-mode="light"] .storyline-objective .obj-done-btn {
    border-color: #cbd5e1;
    color: #334155;
    background: #e2e8f0;
}
html[data-mode="light"] .storyline-objective .obj-done-btn:hover {
    border-color: rgb(var(--p-500));
    color: rgb(var(--p-600));
    background: rgb(var(--p-500) / .06);
}
html[data-mode="light"] .storyline-objective[data-done="1"] {
    border-color: #dbe3ee;
}
html[data-mode="light"] .storyline-objective[data-done="1"] .obj-title { color: #059669; }
html[data-mode="light"] .storyline-objective[data-done="1"] .obj-index {
    color: #059669;
    background: #d1fae5;
}
html[data-mode="light"] .storyline-objective[data-done="1"] .obj-done-btn {
    border-color: #10b981;
    color: #fff;
    background: #059669;
}
html[data-mode="light"] .storyline-objective[data-done="1"] .obj-done-btn:hover {
    border-color: #34d399;
    color: #fff;
    background: #047857;
}

/* v1070 - 剧情详情右侧吸顶避开顶部导航 */
.storyline-side-sticky {
    top: 72px;
}


.trader-badge {
    color: #e5e7eb !important;
    background: #18181b !important;
    border-color: #4b5563 !important;
}
html[data-mode="light"] .trader-badge {
    color: #111827 !important;
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
}


.trader-badge-detail {
    color: rgb(245 245 244) !important;
    background: rgb(41 37 36) !important;
    border-color: #3a3a3a !important;
}
html[data-mode="light"] .trader-badge-detail {
    color: rgb(28 25 23) !important;
    background: rgb(226 232 240) !important;
    border-color: rgb(203 213 225) !important;
}


.task-item-requirements-list{display:flex;flex-direction:column;gap:0}.task-required-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 12px;border:0;border-radius:0}.task-required-item+.task-required-item{border-top:1px solid #303034}.task-required-item-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.task-required-item-image{width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex:0 0 42px;border:1px solid var(--border,#333);border-radius:7px;overflow:hidden}.task-required-item-image img{max-width:100%;max-height:100%;object-fit:contain}.task-required-item-info{min-width:0}.task-required-item-name{font-weight:600;line-height:1.35}.task-required-item-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px;font-size:12px;color:#a8a29e}.task-required-item-type{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border:1px solid #3f3f46;border-radius:5px;background:#27272a;color:#d6d3d1;font-weight:500}.task-required-item-fir{color:var(--accent,#3b82f6);background:color-mix(in srgb,var(--accent,#3b82f6) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent,#3b82f6) 28%,transparent);padding:2px 7px;border-radius:5px}.task-required-item-qty{white-space:nowrap;letter-spacing:.01em}.task-required-item-counter{display:flex;align-items:center;white-space:nowrap;flex:0 0 auto;margin-left:auto}.task-required-item-stepper{height:34px;display:inline-flex;align-items:center;border:1px solid #3f3f46;border-radius:9px;background:#202022;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.18)}.task-required-item-stepper button{width:34px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#d6d3d1;font-size:11px;transition:background-color .15s,color .15s}.task-required-item-stepper button:hover{background:color-mix(in srgb,var(--accent,#3b82f6) 14%,#202022);color:var(--accent,#3b82f6)}.task-required-item-stepper button:disabled{opacity:.45;cursor:not-allowed}.task-required-item-countbox{height:32px;min-width:66px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;gap:4px;border-left:1px solid #3f3f46;border-right:1px solid #3f3f46;background:#18181b;font-size:14px;line-height:1;font-variant-numeric:tabular-nums}.task-required-item-countbox strong,.task-required-item-countbox .task-required-item-count-total,.task-required-item-countbox .task-required-item-count-sep{font-size:14px;line-height:1;font-weight:600}.task-required-item-countbox strong{color:var(--accent,#3b82f6)}.task-required-item-countbox .task-required-item-count-sep,.task-required-item-countbox .task-required-item-count-total{color:#a8a29e}html[data-mode="light"] .task-required-item+.task-required-item{border-top-color:#e2e8f0}html[data-mode="light"] .task-required-item-name{color:#18181b}html[data-mode="light"] .task-required-item-tags{color:#71717a}html[data-mode="light"] .task-required-item-type{background:#f4f4f5;border-color:#e4e4e7;color:#3f3f46}html[data-mode="light"] .task-required-item-stepper{background:#fff;border-color:#d4d4d8;box-shadow:0 1px 2px rgba(0,0,0,.05)}html[data-mode="light"] .task-required-item-stepper button{color:#52525b}html[data-mode="light"] .task-required-item-stepper button:hover{background:color-mix(in srgb,var(--accent,#3b82f6) 8%,#fff);color:var(--accent,#3b82f6)}html[data-mode="light"] .task-required-item-countbox{background:#fafafa;border-color:#e4e4e7}html[data-mode="light"] .task-required-item-countbox .task-required-item-count-sep,html[data-mode="light"] .task-required-item-countbox .task-required-item-count-total{color:#71717a}@media(max-width:640px){.task-required-item{align-items:center;flex-direction:row;gap:10px;padding:12px 4px}.task-required-item-main{gap:8px;min-width:0}.task-required-item-image{width:38px;height:38px;flex-basis:38px}.task-required-item-tags{gap:5px;flex-wrap:wrap}.task-required-item-counter{width:auto;justify-content:flex-end;margin-left:auto}.task-required-item-stepper{margin-left:0;height:32px}.task-required-item-stepper button{width:30px;height:30px}.task-required-item-countbox{height:30px;min-width:58px;padding:0 7px;font-size:13px}.task-required-item-countbox strong,.task-required-item-countbox .task-required-item-count-total,.task-required-item-countbox .task-required-item-count-sep{font-size:13px}}


.collection-page{max-width:1500px;margin:0 auto;padding:28px 16px 10px}
.collection-toolbar{background:rgb(var(--bg-card));border:1px solid rgb(var(--border));border-radius:14px}
.collection-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0;margin-bottom:24px;background:transparent;border:0;border-radius:0}
.collection-hero h1{margin:0;font-size:24px;font-weight:800;display:flex;align-items:center;gap:10px;color:rgb(var(--text))}
.collection-hero h1 i{color:rgb(var(--p-600))}
.collection-toolbar{padding:0 12px;display:flex;align-items:center;gap:18px;margin-bottom:18px;min-height:58px}
.collection-tabs{display:flex;align-items:stretch;gap:8px;overflow-x:auto;flex:1;align-self:stretch}
.collection-tabs button{position:relative;min-height:58px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:0;background:transparent;color:rgb(var(--text-muted));white-space:nowrap;font-size:14px;font-weight:600;transition:color .15s ease,background-color .15s ease}
.collection-tabs button::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:2px;background:transparent;transition:background-color .15s ease}
.collection-tabs button:hover{background:rgba(var(--p-500),.055);color:rgb(var(--text))}
.collection-tabs button.is-active{background:transparent;color:rgb(var(--p-600))}
.collection-tabs button.is-active::after{background:rgb(var(--p-600))}
.collection-search-wrap{height:38px;min-width:260px;display:flex;align-items:center;gap:8px;border:1px solid rgb(var(--border));border-radius:8px;padding:0 11px;background:rgb(var(--bg))}
.collection-search-wrap:focus-within{border-color:rgb(var(--border));box-shadow:none;outline:none}
.collection-search-wrap i{font-size:12px;color:rgb(var(--text-muted))}
.collection-search-wrap input{min-width:0;flex:1;background:transparent;border:0;outline:0;color:rgb(var(--text));font-size:13px}
.collection-search-wrap input::placeholder{color:rgb(var(--text-muted))}
.collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.collection-card{display:block;text-align:left;background:rgb(var(--bg-card));border:1px solid rgb(var(--border));border-radius:12px;overflow:hidden;transition:.16s ease;color:rgb(var(--text));min-width:0}
.collection-card:hover{transform:translateY(-1px);border-color:rgba(var(--p-500),.5);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.collection-card-top{display:flex;align-items:center;gap:11px;padding:13px}
.collection-thumb,.collection-modal-thumb{display:flex;align-items:center;justify-content:center;background:rgb(var(--bg-card-soft));border-radius:8px;overflow:hidden;flex:0 0 auto}
.collection-thumb{width:48px;height:48px}
.collection-thumb img,.collection-modal-thumb img{width:100%;height:100%;object-fit:contain}
.collection-thumb i{color:rgb(var(--text-muted))}
.collection-card-main{min-width:0;flex:1}
.collection-card-main strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:rgb(var(--text))}
.collection-card-main small{display:block;margin-top:4px;font-size:12px;color:rgb(var(--text-muted));font-variant-numeric:tabular-nums}
.collection-card-main small em{font-style:normal;color:rgb(var(--p-600));font-weight:700}
.collection-remaining{font-size:11px;color:rgb(var(--text-muted));white-space:nowrap}
.collection-remaining.is-done{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(16,185,129,.12);color:rgb(16 185 129)}
.collection-progress{height:3px;display:block;background:rgba(var(--text),.06);margin:0 13px}
.collection-progress i{display:block;height:100%;background:rgb(var(--p-600));border-radius:2px}
.collection-card-meta{display:flex;align-items:center;gap:14px;padding:9px 13px 11px;color:rgb(var(--text-muted));font-size:11px;border-top:1px solid rgba(var(--border),.75)}
.collection-card-meta span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.collection-card-meta span b{font-size:11px;font-weight:700;color:rgb(var(--text));font-variant-numeric:tabular-nums}
.collection-card-meta .is-fir{margin-left:auto;color:rgb(var(--p-600))}
.collection-card-meta .is-fir b{color:rgb(var(--p-600))}
.collection-key-mark{color:rgb(var(--p-600));font-size:18px}
.collection-empty{padding:70px 10px;display:flex;flex-direction:column;align-items:center;gap:10px;color:rgb(var(--text-muted))}
.collection-empty i{font-size:30px}
.collection-modal{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px}
.collection-modal[hidden]{display:none}
.collection-modal-backdrop{position:absolute;inset:0;z-index:0;background:rgba(0,0,0,.58);backdrop-filter:blur(3px)}
.collection-modal-panel{position:relative;z-index:1;width:min(650px,100%);max-height:min(760px,88vh);overflow:auto;background:rgb(var(--bg-card));color:rgb(var(--text));border:1px solid rgb(var(--border));border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.35);padding:22px}
.collection-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:8px;color:rgb(var(--text-muted));display:flex;align-items:center;justify-content:center}
.collection-modal-close:hover{background:rgb(var(--bg-card-soft));color:rgb(var(--text))}
.collection-modal-head{display:flex;align-items:center;gap:14px;padding-right:42px;padding-bottom:18px;border-bottom:1px solid rgb(var(--border))}
.collection-modal-thumb{width:68px;height:68px;border:1px solid rgb(var(--border))}
.collection-modal-head h2{font-size:20px;font-weight:800;color:rgb(var(--text))}
.collection-modal-head p{margin-top:4px;font-size:13px;color:rgb(var(--text-muted))}
.collection-source-group{margin-top:18px;color:rgb(var(--text))}
.collection-source-group h3{font-size:14px;font-weight:700;margin-bottom:9px;display:flex;align-items:center;gap:7px;color:rgb(var(--text))}
.collection-source-group h3 i{color:rgb(var(--p-600));width:16px;text-align:center}
.collection-source-group h3 span{color:rgb(var(--text-muted));font-weight:500}
.collection-source-row{display:flex;align-items:center;gap:10px;min-height:52px;background:rgb(var(--bg-card-soft));border:1px solid rgb(var(--border));border-radius:10px;padding:9px 10px;margin-top:7px;color:rgb(var(--text))}
.collection-source-title{min-width:0;flex:1;color:rgb(var(--text))}
.collection-source-title strong{display:block;font-size:13px;color:rgb(var(--text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.collection-source-title:hover strong{color:rgb(var(--p-600))}
.collection-source-title small{display:block;margin-top:2px;font-size:11px;color:rgb(var(--text-muted))}
.collection-source-flags{display:flex;align-items:center;gap:5px}
.fir-badge,.info-badge{font-size:10px;padding:3px 6px;border-radius:5px;white-space:nowrap}
.fir-badge{color:rgb(var(--p-600));background:rgba(var(--p-500),.1);border:1px solid rgba(var(--p-500),.25)}
.info-badge{color:rgb(var(--text-muted));background:rgb(var(--bg-card));border:1px solid rgb(var(--border))}
.collection-stepper{display:flex;align-items:center;height:30px;border:1px solid rgb(var(--border));border-radius:7px;overflow:hidden;background:rgb(var(--bg-card))}
.collection-stepper button{width:30px;height:30px;color:rgb(var(--text));font-size:16px}
.collection-stepper button:hover{background:rgba(var(--p-500),.1);color:rgb(var(--p-600))}
.collection-stepper button:disabled{opacity:.4;cursor:wait}
.collection-stepper b{min-width:54px;text-align:center;border-left:1px solid rgb(var(--border));border-right:1px solid rgb(var(--border));font-size:12px;font-weight:600;color:rgb(var(--text));font-variant-numeric:tabular-nums}
.collection-stepper b [data-have]{color:rgb(var(--p-600))}
.collection-only-display{font-size:12px;color:rgb(var(--text-muted));white-space:nowrap}
.collection-key-source>i{color:rgb(var(--text-muted));font-size:11px}
@media(max-width:1100px){.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-toolbar{display:block;padding:0 10px 10px}.collection-tabs{min-height:54px}.collection-tabs button{min-height:54px}.collection-search-wrap{margin-top:8px;min-width:0;width:100%}.collection-hero{padding:0}}
@media(max-width:560px){.collection-page{padding:16px 10px}.collection-hero h1{font-size:21px}.collection-grid{grid-template-columns:1fr}.collection-card-top{padding:11px}.collection-card-meta{padding:8px 11px 10px;gap:10px}.collection-thumb{width:44px;height:44px}.collection-modal{padding:10px}.collection-modal-panel{padding:17px 13px;border-radius:13px}.collection-modal-head{padding-right:38px}.collection-modal-thumb{width:58px;height:58px}.collection-source-row{gap:7px}.collection-source-flags{display:none}.collection-stepper b{min-width:48px}.collection-tabs button{padding:0 10px}}


.collection-total-count{margin-left:auto;display:flex;align-items:baseline;gap:5px;color:rgb(var(--text));font-variant-numeric:tabular-nums;white-space:nowrap}
.collection-total-count strong{font-size:22px;line-height:1;font-weight:800;color:rgb(var(--p-600))}
.collection-total-count span{font-size:16px;color:rgb(var(--text-muted));font-weight:600}
.collection-tabs button{color:rgb(var(--text));font-weight:650}
.collection-tabs button:hover{color:rgb(var(--text));background:rgba(var(--p-500),.045)}
.collection-tabs button.is-active{color:rgb(var(--p-600));font-weight:750}
.collection-card-meta-split{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;border-top:1px solid rgba(var(--border),.75);min-height:54px}
.collection-card-meta-split .collection-meta-side{display:flex;flex-wrap:wrap;align-content:center;align-items:center;gap:4px 8px;min-width:0;padding:8px 12px;color:rgb(var(--text-muted));font-size:11px}
.collection-card-meta-split .collection-meta-side:first-child{border-right:1px solid rgba(var(--border),.75)}
.collection-card-meta-split .collection-meta-title{display:flex;align-items:center;gap:5px;width:100%;font-size:11px;color:rgb(var(--text-muted));font-weight:600}
.collection-card-meta-split .collection-meta-title i{width:12px;text-align:center}
.collection-card-meta-split .collection-meta-line{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.collection-card-meta-split .collection-meta-line small{font-size:10px;color:rgb(var(--text-muted));font-weight:500}
.collection-card-meta-split .collection-meta-line b{font-size:11px;font-weight:750;color:rgb(var(--text));font-variant-numeric:tabular-nums}
.collection-card-meta-split .collection-meta-line.is-fir small,
.collection-card-meta-split .collection-meta-line.is-fir b{color:rgb(var(--p-600))}
.collection-card-meta-split .collection-meta-line.is-fir i{font-size:9px}
@media(max-width:560px){
  .collection-total-count strong{font-size:19px}
  .collection-card-meta-split .collection-meta-side{padding:7px 9px;gap:3px 6px}
  .collection-card-meta-split{min-height:50px}
}


.collection-card{transition:background-color .15s ease,border-color .15s ease;}
.collection-card:hover{transform:none;border-color:rgb(var(--border));box-shadow:none;background:rgba(var(--p-500),.11)}
.collection-card-meta-split{display:flex;align-items:stretch;min-height:54px}
.collection-card-meta-split .collection-meta-side{flex:1 1 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:8px 12px;min-width:0}
.collection-card-meta-split .collection-meta-side:only-child{flex:0 1 50%;border-right:0}
.collection-card-meta-split .collection-meta-side:first-child:not(:only-child){border-right:1px solid rgba(var(--border),.75)}
.collection-card-meta-split .collection-meta-values{display:flex;align-items:center;gap:10px;min-height:16px;white-space:nowrap}
.collection-card-meta-split .collection-meta-line{display:inline-flex;align-items:center;gap:4px;line-height:16px;height:16px}
.collection-card-meta-split .collection-meta-line small,.collection-card-meta-split .collection-meta-line b{display:inline-flex;align-items:center;line-height:16px;height:16px;margin:0}
@media(max-width:560px){
 .collection-source-flags{display:flex;flex-wrap:wrap}
 .collection-card-meta-split .collection-meta-side{padding:7px 9px}
 .collection-card-meta-split .collection-meta-values{gap:8px}
}


.collection-card-top{padding:10px 13px 7px}
.collection-card-meta-split{min-height:44px}
.collection-card-meta-split .collection-meta-side{padding:6px 12px;gap:2px}
.collection-card-meta-split .collection-meta-title{line-height:15px}
.collection-card-meta-split .collection-meta-values{min-height:15px}
.collection-card-meta-split .collection-meta-line,.collection-card-meta-split .collection-meta-line small,.collection-card-meta-split .collection-meta-line b{height:15px;line-height:15px}
.collection-stepper b{cursor:text;user-select:none}
.collection-stepper b:hover{background:rgba(var(--p-500),.08)}
.collection-stepper-input{width:54px;height:28px;padding:0 5px;border:0;outline:0;background:rgb(var(--bg-card));color:var(--accent,#3b82f6);font-family:inherit;font-size:12px;font-weight:400;line-height:28px;text-align:center;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield;caret-color:var(--accent,#3b82f6)}
.collection-stepper-input::-webkit-inner-spin-button,.collection-stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:560px){
 .collection-card-top{padding:9px 11px 6px}
 .collection-card-meta-split{min-height:42px}
 .collection-card-meta-split .collection-meta-side{padding:5px 9px}
 .collection-stepper-input{width:48px}
}


.task-required-item-countbox{cursor:text}
.task-required-item-count-input{width:54px;height:28px;border:0;outline:0;background:transparent;color:var(--accent,#3b82f6);font:inherit;font-weight:600;text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.task-required-item-count-input::-webkit-outer-spin-button,.task-required-item-count-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:640px){.task-required-item-count-input{width:46px;height:26px}}


.collection-card-main small,
.collection-remaining,
.collection-card-meta-split .collection-meta-title,
.collection-card-meta-split .collection-meta-line small{color:rgb(var(--text))}
.collection-card-meta-split .collection-meta-title i{color:inherit}
.collection-stepper b{display:inline-flex;align-items:center;justify-content:center;gap:4px;line-height:1}
.collection-stepper-sep{color:rgb(var(--text-muted));font-weight:500}
html[data-mode="light"] .collection-card-main small,
html[data-mode="light"] .collection-remaining,
html[data-mode="light"] .collection-card-meta-split .collection-meta-title,
html[data-mode="light"] .collection-card-meta-split .collection-meta-line small{color:#18181b}
html[data-mode="dark"] .collection-card-main small,
html[data-mode="dark"] .collection-remaining,
html[data-mode="dark"] .collection-card-meta-split .collection-meta-title,
html[data-mode="dark"] .collection-card-meta-split .collection-meta-line small{color:#e7e5e4}


body,
h1, h2, h3, h4, h5, h6,
p, span, a, label, button, input, select, textarea,
th, td, li, dt, dd, legend, summary,
strong, b,
.font-bold, .font-semibold, .font-medium {
    font-weight: 400 !important;
}


.task-required-item-countbox [data-task-item-count],
.task-required-item-countbox [data-story-item-count],
.task-required-item-count-input {
    color: rgb(var(--p-600)) !important;
}


@media (min-width:821px){
  .collection-tabs{flex:0 0 auto;overflow:visible}
  .collection-search-wrap{flex:1 1 auto;min-width:0;width:auto;margin-left:2px}
}


html[data-mode="light"] .task-kappa-filter-label { color: #2563eb !important; }
html[data-mode="light"] .task-dspt-filter-label { color: #ea580c !important; }
html[data-mode="light"] .task-kappa-filter-checkbox { accent-color: #2563eb !important; }
html[data-mode="light"] .task-dspt-filter-checkbox { accent-color: #ea580c !important; }
html[data-mode="light"] .task-special-kappa {
    color: #2563eb !important;
    background: #eff6ff !important;
    border-color: #60a5fa !important;
}
html[data-mode="light"] .task-special-dspt {
    color: #ea580c !important;
    background: #fff7ed !important;
    border-color: #fb923c !important;
}


html[data-mode="dark"] .task-kappa-filter-label {
    color: #7fa9d8 !important;
}
html[data-mode="dark"] .task-dspt-filter-label {
    color: #d89b61 !important;
}


.profile-trader-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    align-items: start;
    gap: 12px;
}
@media (min-width: 700px) {
    .profile-trader-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
    .profile-trader-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1450px) {
    .profile-trader-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
.profile-trader-card {
    display: block;
    min-height: 0 !important;
    height: auto !important;
    align-self: start;
    padding: 12px 14px !important;
    border-radius: 12px;
    border: 1px solid rgb(var(--border));
    background: rgb(var(--bg-card-soft) / .45);
    color: rgb(var(--text));
    transition: background-color .16s ease, border-color .16s ease;
}
.profile-trader-card:hover {
    background: rgb(var(--bg-card-soft) / .45);
    border-color: rgb(var(--p-500) / .24);
}
.profile-trader-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.profile-trader-avatar {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    overflow: hidden;
    border-radius: 50%;
    border: 1px solid rgb(var(--border-soft));
    background: rgb(var(--bg-card));
}
.profile-trader-avatar img,
.profile-trader-avatar-fallback {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.profile-trader-avatar-fallback {
    align-items: center;
    justify-content: center;
    color: rgb(var(--text-muted));
}
.profile-trader-main {
    min-width: 0;
    flex: 1;
    padding-top: 2px;
}
.profile-trader-name {
    color: rgb(var(--text));
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.profile-trader-count {
    margin-top: 5px;
    color: rgb(var(--text-dim));
    font-size: 12px;
    line-height: 1;
}
.profile-trader-percent {
    color: rgb(var(--p-500));
    font-size: 13px;
    line-height: 1.3;
    white-space: nowrap;
    padding-top: 2px;
}
.profile-trader-progress {
    height: 7px;
    margin-top: 10px;
    border-radius: 999px;
    overflow: hidden;
    background: rgb(var(--border));
}
.profile-trader-progress > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: rgb(var(--p-500));
    transition: width .2s ease;
}
html[data-mode="light"] .profile-trader-card {
    background: rgb(var(--bg-card));
}
html[data-mode="light"] .profile-trader-card:hover {
    background: rgb(var(--bg-card));
    border-color: rgb(var(--p-500) / .24);
}
.interactive-map{height:calc(100vh - 3.5rem);min-height:620px;display:grid;grid-template-columns:260px minmax(0,1fr) 300px;background:#0b0d10;color:#e7e5e4;overflow:hidden}.map-panel{background:#111318;border-color:#2b3038;overflow-y:auto;padding:18px}.map-panel-left{border-right:1px solid #2b3038}.map-panel-right{border-left:1px solid #2b3038}.map-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:16px;margin-bottom:10px;border-bottom:1px solid #2b3038}.map-panel-heading h1,.map-panel-heading h2{font-size:1.25rem;font-weight:700;color:#fafaf9}.map-panel-heading small{font-size:.75rem;color:#78716c}.map-eyebrow{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:rgb(var(--accent));margin-bottom:3px}.map-filter,.map-task{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border-radius:8px;color:#a8a29e;text-align:left;font-size:.875rem;transition:.15s}.map-filter span{display:flex;align-items:center;gap:9px}.map-filter i{width:16px;text-align:center}.map-filter b{font-size:.75rem;color:#57534e}.map-filter:hover,.map-filter.is-active,.map-task:hover,.map-task.is-active{background:rgba(var(--accent),.12);color:rgb(var(--accent))}.map-task{display:block;border-bottom:1px solid #22262d;border-radius:0}.map-task span{display:block;color:inherit}.map-task small{display:block;color:#78716c;margin-top:2px}.map-empty{padding:18px 8px;color:#78716c;font-size:.8rem}.map-canvas-shell{position:relative;min-width:0;display:flex;flex-direction:column}.map-toolbar{height:52px;display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 12px;background:#111318;border-bottom:1px solid #2b3038;z-index:5}.map-toolbar button,.map-floor{height:36px;padding:0 12px;border:1px solid #363c46;border-radius:7px;color:#a8a29e;font-size:.8rem}.map-toolbar button:hover,.map-floor.is-active{color:#fff;border-color:rgb(var(--accent));background:rgba(var(--accent),.15)}.map-floor-tabs{display:flex;gap:5px;margin-right:auto}.map-viewport{position:relative;flex:1;overflow:hidden;cursor:grab;background-color:#0b0d10;background-image:linear-gradient(#20242a 1px,transparent 1px),linear-gradient(90deg,#20242a 1px,transparent 1px);background-size:48px 48px;touch-action:none}.map-viewport:active{cursor:grabbing}.map-stage{position:absolute;width:2800px;height:3100px;transform-origin:0 0;will-change:transform}.map-stage>img{display:block;width:2800px;height:3100px;user-select:none}.map-marker{position:absolute;z-index:3;width:38px;height:38px;transform:translate(-50%,-100%);border:3px solid #fff;border-radius:50% 50% 50% 0;background:var(--marker-color);color:#fff;rotate:-45deg;box-shadow:0 5px 15px #0009}.map-marker i{rotate:45deg;font-size:15px}.map-marker:hover{z-index:4;scale:1.18}.map-zoom{position:absolute;right:16px;bottom:16px;display:grid;gap:5px;z-index:6}.map-zoom button{width:38px;height:38px;border-radius:8px;background:#16191f;border:1px solid #343a44;color:#e7e5e4}.map-no-svg{display:grid;place-content:center;flex:1;text-align:center;color:#78716c;gap:12px}.map-no-svg i{font-size:3rem}.map-overlay-root{display:contents}.map-marker-modal{position:fixed;inset:0;z-index:90;display:none;place-items:center;padding:20px;background:#000b;backdrop-filter:blur(5px)}.map-marker-modal.is-open{display:grid}.map-marker-dialog{position:relative;width:min(520px,100%);overflow:hidden;border:1px solid #343a44;border-radius:14px;background:#15181d;box-shadow:0 24px 80px #000}.map-marker-dialog>img{width:100%;max-height:330px;object-fit:cover}.map-modal-close{position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:50%;background:#090b0dcc;color:#fff}.map-marker-dialog span{font-size:.75rem;color:rgb(var(--accent))}.map-marker-dialog h3{font-size:1.25rem;font-weight:700;margin:4px 0 8px}.map-marker-dialog p{color:#a8a29e;white-space:pre-line}.map-marker-dialog a{display:inline-flex;margin-top:14px;color:rgb(var(--accent));font-size:.875rem}.map-panel-backdrop{display:none}.map-panel-close{color:#a8a29e}.interactive-map:fullscreen{height:100vh}.interactive-map:fullscreen .map-toolbar{padding-top:8px}
@media(max-width:1023px){.interactive-map{grid-template-columns:1fr;height:calc(100vh - 3.5rem);min-height:520px}.map-panel{position:absolute;top:0;bottom:0;width:min(330px,88vw);z-index:30;transition:transform .22s}.map-panel-left{left:0;transform:translateX(-105%)}.map-panel-right{right:0;transform:translateX(105%)}.map-panel.is-open{transform:none}.map-panel-backdrop{position:absolute;inset:0;z-index:25;background:#0009}.map-panel-backdrop.is-open{display:block}.map-toolbar{justify-content:space-between}.map-floor-tabs{margin:0;overflow-x:auto}.map-toolbar button,.map-floor{padding:0 9px}.map-toolbar>button{display:inline-flex;align-items:center;gap:5px}.map-canvas-shell{height:100%}}
.map-meta{display:flex;gap:12px;margin-top:7px;color:#78716c;font-size:.75rem}.map-meta span{display:inline-flex;align-items:center;gap:5px}
.map-stage{will-change:auto!important}.map-stage>img{max-width:none}
html[data-mode="light"] .interactive-map{background:#f4f6f8;color:#1f2937}
html[data-mode="light"] .map-panel{background:#fff;border-color:#dce2e8}
html[data-mode="light"] .map-panel-left{border-right-color:#dce2e8}
html[data-mode="light"] .map-panel-right{border-left-color:#dce2e8}
html[data-mode="light"] .map-panel-heading{border-bottom-color:#e2e8f0}
html[data-mode="light"] .map-panel-heading h1,
html[data-mode="light"] .map-panel-heading h2{color:#111827}
html[data-mode="light"] .map-filter,
html[data-mode="light"] .map-task{color:#475569}
html[data-mode="light"] .map-filter b,
html[data-mode="light"] .map-task small,
html[data-mode="light"] .map-empty,
html[data-mode="light"] .map-meta{color:#64748b}
html[data-mode="light"] .map-task{border-bottom-color:#e2e8f0}
html[data-mode="light"] .map-filter:hover,
html[data-mode="light"] .map-filter.is-active,
html[data-mode="light"] .map-task:hover,
html[data-mode="light"] .map-task.is-active{background:rgba(var(--accent),.1);color:rgb(var(--p-700))}
html[data-mode="light"] .map-toolbar{background:#fff;border-bottom-color:#dce2e8}
html[data-mode="light"] .map-toolbar button,
html[data-mode="light"] .map-floor{border-color:#cbd5e1;color:#475569;background:#fff}
html[data-mode="light"] .map-toolbar button:hover,
html[data-mode="light"] .map-floor.is-active{border-color:rgb(var(--accent));color:rgb(var(--p-700));background:rgba(var(--accent),.1)}
html[data-mode="light"] .map-viewport{background-color:#f5f7f9;background-image:linear-gradient(#dce2e8 1px,transparent 1px),linear-gradient(90deg,#dce2e8 1px,transparent 1px)}


.map-task-row{border-bottom:1px solid #22262d;padding-bottom:7px}
.map-task-row>.map-task{border-bottom:0}
.map-task-floors{display:flex;flex-wrap:wrap;gap:5px;padding:0 10px}
.map-task-floor{padding:3px 7px;border:1px solid #343a44;border-radius:5px;color:#78716c;font-size:.68rem;line-height:1.4}
.map-task-floor:hover{border-color:rgb(var(--p-500));color:rgb(var(--p-500));background:rgba(var(--accent),.1)}
html[data-mode="light"] .map-task-row{border-color:#dce2e8}
html[data-mode="light"] .map-task-floor{border-color:#cbd5e1;color:#64748b}
html[data-mode="light"] .map-zoom button{background:#fff;border-color:#cbd5e1;color:#334155;box-shadow:0 2px 8px #0f172a1a}
html[data-mode="light"] .map-marker-dialog{background:#fff;border-color:#d7dee7;box-shadow:0 24px 80px #0f172a33}
html[data-mode="light"] .map-marker-dialog h3{color:#111827}
html[data-mode="light"] .map-marker-dialog p{color:#64748b}


.map-marker{
  transform:translate(-50%,calc(-100% - 8px)) rotate(-45deg);
  transform-origin:50% 50%;
  rotate:none;
}
.map-marker i{
  display:block;
  transform:rotate(45deg);
  rotate:none;
}


.interactive-map{
  position:relative;
}

@media(max-width:1023px){
  .map-panel{
    top:0;
    bottom:0;
    max-height:100%;
  }
  .map-toolbar{
    justify-content:flex-start;
    gap:5px;
    padding:7px 8px;
    overflow:hidden;
  }
  .map-toolbar>button{
    flex:0 0 auto;
    white-space:nowrap;
  }
  .map-floor-tabs{
    flex:1 1 auto;
    min-width:0;
    margin:0;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .map-floor-tabs::-webkit-scrollbar{
    display:none;
  }
  .map-floor{
    flex:0 0 auto;
    min-width:max-content;
    padding:0 10px;
    white-space:nowrap;
  }
}


.map-category-node .map-filter{padding-left:calc(10px + var(--category-depth,0) * 18px)}
.map-category-node .map-filter span{min-width:0}.map-category-node .map-filter span i{flex:0 0 16px}.map-category-node .map-filter span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-filter-marker-icon{width:22px;height:22px;flex:0 0 22px;object-fit:contain;display:block}


.map-marker,.map-marker:hover{scale:1!important}


.map-floor-hint{height:36px;padding:0 12px;border:1px solid #363c46;border-radius:7px;display:inline-flex;align-items:center;flex:0 0 auto;color:#a8a29e;font-size:.72rem;font-weight:400;line-height:1;white-space:nowrap;user-select:none;pointer-events:none;cursor:default}html[data-mode="light"] .map-floor-hint{border-color:#cbd5e1;background:#fff;color:#64748b}@media(max-width:1023px){.map-floor-hint{display:none!important}}
.map-marker{width:auto;height:auto;min-width:30px;min-height:30px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;overflow:visible;white-space:nowrap}
.map-marker-icon{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:0;background:transparent;box-shadow:none;flex:0 0 auto}
.map-marker-icon img{width:32px;height:32px;object-fit:contain;display:block;border:0;border-radius:0;box-shadow:none;background:transparent}
.map-marker.has-title .map-marker-title{display:block;max-width:220px;padding:4px 7px;border-radius:5px;background:#0b0d10e8;border:1px solid #343a44;color:#fff;font-size:.72rem;line-height:1.2;text-shadow:0 1px 2px #000;box-shadow:0 2px 8px #0006;overflow:hidden;text-overflow:ellipsis}
.map-marker-area{position:absolute;inset:0;z-index:2;overflow:visible;pointer-events:none}.map-marker-area polygon{fill:var(--marker-color);fill-opacity:.25;stroke:var(--marker-color);stroke-width:5;stroke-dasharray:14 10;vector-effect:non-scaling-stroke;pointer-events:all;cursor:pointer;transition:fill-opacity .15s}.map-marker-area polygon:hover,.map-marker-area polygon:focus{fill-opacity:.42;outline:none}
.map-marker.is-static,.map-marker-area polygon.is-static{cursor:default}
.map-live-area{position:absolute;inset:0;overflow:visible;pointer-events:none}.map-live-area.is-other-floor{opacity:.28;filter:grayscale(.45) blur(.35px)}.map-live-area polygon{fill:var(--area-color);fill-opacity:.25;stroke:var(--area-color);stroke-width:4;stroke-dasharray:12 8}
html[data-mode="light"] .map-marker.has-title .map-marker-title{background:#fffffff2;border-color:#cbd5e1;color:#1f2937;text-shadow:none;box-shadow:0 2px 8px #0f172a1f}

.map-task-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px}.map-task-main>.map-task{min-width:0;border-bottom:0}.map-task-actions{display:flex;align-items:center;gap:5px}.map-task-detail,.map-task-complete{width:30px;height:30px;border:1px solid #3f4651;border-radius:7px;color:#94a3b8;display:grid;place-items:center;transition:.15s;flex:0 0 30px}.map-task-detail:hover{border-color:var(--accent,#3b82f6);background:color-mix(in srgb,var(--accent,#3b82f6) 12%,transparent);color:var(--accent,#3b82f6)}.map-task-complete:hover{border-color:#10b981;background:#10b9811f;color:#34d399}.map-task-complete:disabled{opacity:.45;cursor:not-allowed}html[data-mode="light"] .map-task-detail,html[data-mode="light"] .map-task-complete{border-color:#cbd5e1;color:#64748b}html[data-mode="light"] .map-task-detail:hover{border-color:var(--accent,#3b82f6);background:color-mix(in srgb,var(--accent,#3b82f6) 9%,transparent);color:var(--accent,#3b82f6)}html[data-mode="light"] .map-task-complete:hover{border-color:#10b981;background:#10b98114;color:#059669}


.map-marker-dialog{max-height:min(84vh,860px);overflow:hidden}.map-marker-scroll{max-height:min(84vh,860px);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.map-marker-scroll::-webkit-scrollbar{display:none;width:0;height:0}.map-modal-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:22px}.map-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto;flex-wrap:wrap}.map-modal-actions a{margin:0!important;white-space:nowrap;font-weight:600}.map-modal-images{display:grid;gap:8px;margin-top:16px}.map-modal-images img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;background:#0b0d10;border-radius:8px;cursor:zoom-in}html[data-mode="light"] .map-modal-images img{background:#eef2f6}.map-image-lightbox{position:fixed;inset:0;z-index:10000;display:none;place-items:center;padding:24px;background:rgba(10,13,18,.58);-webkit-backdrop-filter:blur(6px) saturate(.9);backdrop-filter:blur(6px) saturate(.9);cursor:zoom-out}.map-image-lightbox.is-open{display:grid}.map-image-lightbox img{display:block;max-width:min(92vw,1500px);max-height:92vh;width:auto;height:auto;object-fit:contain;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:zoom-out}html[data-mode="light"] .map-image-lightbox{background:rgba(244,247,250,.68)}


.map-marker-modal.is-image-previewing{visibility:hidden}
.map-image-lightbox{padding:12px}
.map-image-lightbox img{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}

html:not([data-mode="light"]) .map-panel-left .map-filter.is-active{
  color:rgb(var(--p-300));
  background:rgb(var(--p-500) / .18);
  box-shadow:inset 3px 0 0 rgb(var(--p-500));
}
html:not([data-mode="light"]) .map-panel-left .map-filter.is-active i{
  color:rgb(var(--p-300));
}
html:not([data-mode="light"]) .map-panel-left .map-filter.is-active b{
  color:rgb(var(--p-300));
}
html:not([data-mode="light"]) .map-panel-left .map-filter:hover:not(.is-active){
  color:rgb(var(--p-400));
  background:rgb(var(--p-500) / .10);
}


html:not([data-mode="light"]) .map-panel-right .map-task.is-active{
  color:rgb(var(--p-300));
  background:rgb(var(--p-500) / .18);
  box-shadow:inset 3px 0 0 rgb(var(--p-500));
}
html:not([data-mode="light"]) .map-panel-right .map-task.is-active span,
html:not([data-mode="light"]) .map-panel-right .map-task.is-active i{
  color:rgb(var(--p-300));
}
html:not([data-mode="light"]) .map-panel-right .map-task.is-active small{
  color:rgb(var(--p-200));
}
html:not([data-mode="light"]) .map-panel-right .map-task:hover:not(.is-active){
  color:rgb(var(--p-400));
  background:rgb(var(--p-500) / .10);
}


html:not([data-mode="light"]) .map-panel-left .map-filter.is-active,
html:not([data-mode="light"]) .map-panel-right .map-task.is-active{
  color:rgb(var(--p-400));
  background:transparent;
  box-shadow:none;
}
html:not([data-mode="light"]) .map-panel-left .map-filter.is-active i,
html:not([data-mode="light"]) .map-panel-left .map-filter.is-active b,
html:not([data-mode="light"]) .map-panel-right .map-task.is-active span,
html:not([data-mode="light"]) .map-panel-right .map-task.is-active i,
html:not([data-mode="light"]) .map-panel-right .map-task.is-active small{
  color:rgb(var(--p-400));
}
html:not([data-mode="light"]) .map-panel-left .map-filter:hover:not(.is-active),
html:not([data-mode="light"]) .map-panel-right .map-task:hover:not(.is-active){
  color:rgb(var(--p-400));
  background:transparent;
}


.map-locate-modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:20px;background:#000b;backdrop-filter:blur(5px)}
.map-locate-modal.is-open{display:grid}
.map-locate-dialog{width:min(560px,100%);padding:20px;border:1px solid #343a44;border-radius:14px;background:#15181d;box-shadow:0 24px 80px #000}
.map-locate-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.map-locate-head h3{font-size:1.25rem;font-weight:700;color:#fafaf9}.map-locate-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid #343a44;border-radius:8px;color:#a8a29e}.map-locate-close:hover{border-color:rgb(var(--p-500));color:rgb(var(--p-500))}
.map-locate-tip{margin-bottom:12px;color:#a8a29e;font-size:.85rem;line-height:1.6}.map-locate-dialog textarea{width:100%;min-height:92px;resize:vertical;padding:11px 12px;border:1px solid #343a44;border-radius:8px;background:#0b0d10;color:#e7e5e4;font-size:.82rem;line-height:1.55;outline:none}.map-locate-dialog textarea:focus{border-color:rgb(var(--p-500));box-shadow:0 0 0 2px rgb(var(--p-500) / .12)}.map-locate-error{margin-top:9px;color:#f87171;font-size:.78rem}.map-locate-actions{display:flex;justify-content:flex-end;margin-top:14px}.map-locate-actions button{min-width:120px;height:38px;padding:0 20px;border:1px solid rgb(var(--p-600));border-radius:7px;background:rgb(var(--p-500));color:#fff;font-size:.84rem;font-weight:700;cursor:pointer}.map-locate-actions button:hover{background:rgb(var(--p-600))}.map-locate-actions button:focus-visible{outline:2px solid rgb(var(--p-300));outline-offset:2px}
.map-player-location{position:absolute;z-index:8;width:18px;height:18px;transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap}.map-player-location-dot{display:block;width:18px;height:18px;border:3px solid #a3e635;border-radius:50%;background:#8b5cf6;box-shadow:0 0 0 3px #0b0d10aa,0 0 14px #8b5cf699}.map-player-location-label{position:absolute;left:25px;top:50%;transform:translateY(-50%);padding:4px 7px;border:1px solid #a3e635;border-radius:5px;background:#0b0d10e8;color:#fff;font-size:.72rem;font-weight:600;box-shadow:0 2px 8px #0006}
html[data-mode="light"] .map-locate-dialog{border-color:#d7dee7;background:#fff;box-shadow:0 24px 80px #0f172a33}html[data-mode="light"] .map-locate-head h3{color:#111827}html[data-mode="light"] .map-locate-tip{color:#64748b}html[data-mode="light"] .map-locate-close{border-color:#cbd5e1;color:#64748b}html[data-mode="light"] .map-locate-dialog textarea{border-color:#cbd5e1;background:#f8fafc;color:#1f2937}html[data-mode="light"] .map-player-location-label{background:#fffffff2;color:#1f2937;box-shadow:0 2px 8px #0f172a1f}
@media(max-width:639px){.map-locate-dialog{padding:16px}.map-locate-tip{font-size:.8rem}.map-player-location-label{display:none}}


.map-marker{
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  display:block;
  transform:translate(-50%,-50%);
  overflow:visible;
}
.map-marker-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
}
.map-marker.has-title .map-marker-title,
.map-player-location-label{
  position:absolute;
  left:50%;
  bottom:calc(100% + 6px);
  top:auto;
  transform:translateX(-50%);
  display:block;
  max-width:220px;
  padding:4px 7px;
  border:1px solid #343a44;
  border-radius:5px;
  background:#0b0d10e8;
  color:#fff;
  font-size:.72rem;
  font-weight:600;
  line-height:1.2;
  text-shadow:0 1px 2px #000;
  box-shadow:0 2px 8px #0006;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  pointer-events:none;
}
.map-player-location-label{
  left:50%;
}
html[data-mode="light"] .map-marker.has-title .map-marker-title,
html[data-mode="light"] .map-player-location-label{
  border-color:#cbd5e1;
  background:#fffffff2;
  color:#1f2937;
  text-shadow:none;
  box-shadow:0 2px 8px #0f172a1f;
}


.map-heading-main{min-width:0;flex:1}
.map-switcher{display:block;width:100%;max-width:210px;height:38px;padding:0 34px 0 10px;border:1px solid rgb(var(--border));border-radius:7px;background:rgb(var(--bg-card-soft));color:rgb(var(--text));font-size:1.05rem;font-weight:700;line-height:1.2;cursor:pointer;outline:none}
.map-switcher:hover,.map-switcher:focus{border-color:rgb(var(--p-500));box-shadow:0 0 0 2px rgb(var(--p-500) / .12)}
.map-switcher option{background:rgb(var(--bg-card-soft));color:rgb(var(--text));font-size:.95rem;font-weight:500}
@media(max-width:1023px){.map-switcher{max-width:220px}}


.map-switcher{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
.map-meta{
  margin-top:11px;
  width:100%;
  min-height:20px;
  justify-content:center;
  align-items:center;
}
@media(max-width:1023px){
  #map-locate{
    display:none!important;
  }

  /* 手机继续使用电脑端地图浮层复位按钮样式 */
  body#app .map-viewport-actions{
    display:flex;
  }

  #map-reset{
    display:flex!important;
  }

  /* 手机隐藏顶部工具栏全屏和地图浮层全屏 */
  #map-fullscreen,
  #map-fullscreen-mobile{
    display:none!important;
  }
}


@media(max-width:1023px){
  .map-panel-heading{gap:10px;}
  .map-panel-heading .map-heading-main{min-width:0;flex:1 1 auto;}
  .map-panel-heading .map-switcher{width:100%;max-width:100%;}
  .map-panel-heading .map-panel-close{flex:0 0 28px;width:28px;height:38px;display:inline-flex;align-items:center;justify-content:center;}
}


.map-player-location-dot{
  border-color:rgb(var(--p-300));
  background:rgb(var(--p-500));
  box-shadow:0 0 0 3px #0b0d10aa,0 0 14px rgb(var(--p-500) / .6);
}
html[data-mode="light"] .map-player-location-dot{
  border-color:rgb(var(--p-300));
  background:rgb(var(--p-500));
  box-shadow:0 0 0 3px #ffffffcc,0 0 12px rgb(var(--p-500) / .35);
}


.map-auto-locate{
  margin-top:14px;
  padding:13px;
  border:1px solid #343a44;
  border-radius:9px;
  background:#0f1217;
}

.map-auto-locate-member-tip{margin:0 0 10px;color:#f59e0b;font-size:13px;line-height:1.55}
.map-auto-locate-member-tip i{margin-right:5px}
html[data-mode="light"] .map-auto-locate-member-tip{color:#f59e0b}
.map-auto-locate-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  color:#e7e5e4;
  font-size:.84rem;
  font-weight:600;
  cursor:pointer;
  user-select:none;
}
.map-auto-locate-toggle input{
  width:16px;
  height:16px;
  margin:0;
  accent-color:rgb(var(--p-500));
  cursor:pointer;
}
.map-auto-locate-toggle + .map-auto-locate-toggle{
  margin-top:9px;
}
.map-auto-delete-toggle{
  font-weight:500;
}
.map-auto-locate-directory{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  margin-top:11px;
}
.map-auto-locate-directory button{
  flex:0 0 auto;
  height:34px;
  padding:0 12px;
  border:1px solid #3b4350;
  border-radius:7px;
  background:#171b21;
  color:#e7e5e4;
  font-size:.8rem;
  font-weight:600;
  cursor:pointer;
}
.map-auto-locate-directory button:hover{
  border-color:rgb(var(--p-500));
  color:rgb(var(--p-400));
}
.map-auto-locate-directory button:disabled{
  opacity:.5;
  cursor:not-allowed;
}
.map-auto-locate-directory span{
  min-width:0;
  overflow:hidden;
  color:#a8a29e;
  font-size:.78rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.map-auto-locate-status{
  margin-top:9px;
  color:#78716c;
  font-size:.76rem;
  line-height:1.45;
}
.map-auto-locate-status[data-state="active"]{color:rgb(var(--p-400))}
.map-auto-locate-status[data-state="warning"]{color:#f59e0b}
.map-auto-locate-status[data-state="error"]{color:#f87171}
html[data-mode="light"] .map-auto-locate{
  border-color:#d7dee7;
  background:#f8fafc;
}
html[data-mode="light"] .map-auto-locate-toggle{color:#1f2937}
html[data-mode="light"] .map-auto-locate-directory button{
  border-color:#cbd5e1;
  background:#fff;
  color:#334155;
}
html[data-mode="light"] .map-auto-locate-directory span{color:#64748b}
html[data-mode="light"] .map-auto-locate-status{color:#64748b}
html[data-mode="light"] .map-auto-locate-status[data-state="active"]{color:rgb(var(--p-600))}
@media(max-width:639px){
  .map-auto-locate-directory{align-items:stretch;flex-direction:column;gap:7px}
  .map-auto-locate-directory button{width:100%}
  .map-auto-locate-directory span{white-space:normal;word-break:break-all}
}
\n\n
.map-player-location{overflow:visible}
.map-player-location-direction{
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  width:4px;
  height:18px;
  margin-left:-2px;
  background:rgb(var(--p-500));
  border-radius:999px;
  transform-origin:50% 0;
  transform:rotate(var(--player-heading,0deg)) translateY(7px);
  box-shadow:0 0 7px rgb(var(--p-500) / .38);
}
.map-player-location-direction::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-5px;
  width:0;
  height:0;
  transform:translateX(-50%);
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:7px solid rgb(var(--p-500));
}
.map-player-location-dot{position:relative;z-index:2}
.map-player-location-label{z-index:3}


.map-player-location{
  width:26px;
  height:26px;
  overflow:visible;
}
.map-player-location-direction{
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  width:24px;
  height:24px;
  margin:0;
  border:3px solid rgb(var(--p-300));
  border-radius:50%;
  background:transparent;
  box-shadow:0 0 0 2px #15181d,0 0 10px rgb(var(--p-500) / .35);
  transform-origin:50% 50%;
  transform:translate(-50%,-50%) rotate(var(--player-heading,0deg));
}

.map-player-location-direction::before{
  content:"";
  position:absolute;
  z-index:-2;
  left:50%;
  bottom:-20px;
  width:0;
  height:0;
  transform:translateX(-50%);
  border-left:8px solid transparent;
  border-right:8px solid transparent;
  border-top:20px solid #15181d;
}

.map-player-location-direction::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  bottom:-16px;
  width:0;
  height:0;
  transform:translateX(-50%);
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:16px solid rgb(var(--p-300));
}
.map-player-location-dot{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:12px;
  height:12px;
  margin:0;
  border:0;
  border-radius:50%;
  background:rgb(var(--p-500));
  box-shadow:0 0 0 2px #15181d;
  transform:translate(-50%,-50%);
}
html[data-mode="light"] .map-player-location-direction{
  box-shadow:0 0 0 2px #27313b,0 0 9px rgb(var(--p-500) / .25);
}
html[data-mode="light"] .map-player-location-direction::before{
  border-top-color:#27313b;
}
html[data-mode="light"] .map-player-location-dot{
  border:0;
  background:rgb(var(--p-500));
  box-shadow:0 0 0 2px #27313b;
}


.map-player-location{
  width:26px;
  height:26px;
  overflow:visible;
}
.map-player-location-direction{
  position:absolute;
  z-index:2;
  left:-4px;
  top:-4px;
  width:34px;
  height:48px;
  margin:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  transform-origin:17px 17px;
  transform:rotate(var(--player-heading,0deg));
}
.map-player-location-direction::before,
.map-player-location-direction::after{content:none!important}
.map-player-location-direction svg{
  display:block;
  width:34px;
  height:48px;
  overflow:visible;
  filter:drop-shadow(0 0 5px rgb(var(--p-500) / .28));
}
.map-player-location-pin-body{
  fill:rgb(var(--p-300));
  stroke:#15181d;
  stroke-width:3;
  stroke-linejoin:round;
}
.map-player-location-pin-core{
  fill:rgb(var(--p-500));
  stroke:#15181d;
  stroke-width:3;
}
.map-player-location-dot{display:none!important}
.map-player-location-label{z-index:4}
html[data-mode="light"] .map-player-location-pin-body,
html[data-mode="light"] .map-player-location-pin-core{stroke:#27313b}


@media(min-width:1024px){
  .interactive-map{
    --map-left-panel-width:260px;
    --map-right-panel-width:300px;
    grid-template-columns:var(--map-left-panel-width) minmax(0,1fr) var(--map-right-panel-width);
    transition:grid-template-columns .2s ease;
  }
  .interactive-map.is-left-collapsed{--map-left-panel-width:0px;}
  .interactive-map.is-right-collapsed{--map-right-panel-width:0px;}
  .interactive-map.is-left-collapsed .map-panel-left,
  .interactive-map.is-right-collapsed .map-panel-right{
    padding-left:0;
    padding-right:0;
    border-width:0;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
  }
  .map-panel-left,.map-panel-right{
    min-width:0;
    transition:opacity .16s ease,padding .2s ease;
  }
  .map-desktop-panel-toggle{
    position:absolute;
    top:0;
    z-index:18;
    width:26px;
    height:52px;
    display:grid;
    place-items:center;
    transform:none;
    border:1px solid #363c46;
    background:#111318;
    color:#a8a29e;
    box-shadow:0 3px 12px #0005;
    cursor:pointer;
    transition:left .2s ease,right .2s ease,color .15s ease,border-color .15s ease,background .15s ease;
  }
  .map-desktop-panel-toggle:hover{
    color:rgb(var(--p-400));
    border-color:rgb(var(--p-500));
    background:#171a20;
  }
  .map-desktop-panel-toggle-left{
    left:calc(var(--map-left-panel-width) - 13px);
    border-radius:0 8px 8px 0;
  }
  .map-desktop-panel-toggle-right{
    right:calc(var(--map-right-panel-width) - 13px);
    border-radius:8px 0 0 8px;
  }
  .interactive-map.is-left-collapsed .map-desktop-panel-toggle-left{left:0;}
  .interactive-map.is-right-collapsed .map-desktop-panel-toggle-right{right:0;}
  html[data-mode="light"] .map-desktop-panel-toggle{
    border-color:#cbd5e1;
    background:#fff;
    color:#64748b;
    box-shadow:0 3px 12px #0f172a1a;
  }
  html[data-mode="light"] .map-desktop-panel-toggle:hover{
    color:rgb(var(--p-600));
    border-color:rgb(var(--p-500));
    background:#f8fafc;
  }
}
@media(max-width:1023px){.map-desktop-panel-toggle{display:none!important}}


@media(min-width:1024px){
  .map-desktop-panel-toggle{
    top:50%;
    height:54px;
    transform:translateY(-50%);
  }
  .map-desktop-panel-toggle-left{
    left:var(--map-left-panel-width);
    transform:translate(-50%,-50%);
  }
  .map-desktop-panel-toggle-right{
    right:var(--map-right-panel-width);
    transform:translate(50%,-50%);
  }
  .interactive-map.is-left-collapsed .map-desktop-panel-toggle-left{
    left:0;
    transform:translateY(-50%);
  }
  .interactive-map.is-right-collapsed .map-desktop-panel-toggle-right{
    right:0;
    transform:translateY(-50%);
  }
}
.map-player-location,
html[data-mode="light"] .map-player-location{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.map-player-location-direction,
html[data-mode="light"] .map-player-location-direction{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
}


@media(min-width:1024px){
  .map-desktop-panel-toggle-left{
    left:var(--map-left-panel-width);
    transform:translateY(-50%);
  }
  .map-desktop-panel-toggle-right{
    right:var(--map-right-panel-width);
    transform:translateY(-50%);
  }
  .interactive-map.is-left-collapsed .map-desktop-panel-toggle-left{
    left:0;
    transform:translateY(-50%);
  }
  .interactive-map.is-right-collapsed .map-desktop-panel-toggle-right{
    right:0;
    transform:translateY(-50%);
  }
}


.map-player-location-label{
  bottom:calc(100% + 20px);
}


@media(max-width:1023px){
  #map-floating{display:none!important;}
}


.map-locate-actions{display:block;margin-top:10px}
.map-locate-actions button{width:100%;min-width:0}


.map-phone-live-button{white-space:nowrap}
.map-phone-modal,.map-live-login-modal{position:fixed;inset:0;z-index:10040;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.66);backdrop-filter:blur(4px)}
.map-phone-modal.is-open,.map-live-login-modal.is-open{display:flex}
.map-phone-dialog,.map-live-login-dialog{width:min(440px,100%);border:1px solid var(--line,#333);border-radius:16px;background:var(--panel,#15181d);padding:20px;color:var(--text,#eee)}
.map-phone-tip,.map-live-login-dialog p{margin:12px 0;color:var(--muted,#a6a6a6);line-height:1.7}
.map-phone-qr{display:flex;justify-content:center;margin:16px 0}.map-phone-qr img,.map-phone-qr canvas{display:block;width:220px;height:220px;border-radius:10px;background:#fff;padding:8px}
.map-phone-url{display:block;padding:11px 12px;border:1px solid var(--line,#333);border-radius:10px;text-align:center;word-break:break-all;color:var(--p-500);text-decoration:none}
.map-live-page{max-width:1100px;margin:0 auto;padding:16px;color:rgb(var(--text))}.map-live-page .map-eyebrow{color:rgb(var(--text-muted))}.map-live-toolbar h1{color:rgb(var(--text))}.map-live-meta span{color:rgb(var(--text));background:rgb(var(--bg-card));border-color:rgb(var(--border))}
.map-live-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.map-live-toolbar h1{margin:2px 0 0;font-size:22px}.map-live-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.map-live-meta span{padding:6px 9px;border:1px solid var(--line,#333);border-radius:8px;font-size:13px}.map-live-overlay{position:absolute;z-index:18;pointer-events:none}.map-live-overlay>span{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(9,11,13,.82);color:#fff;font-size:12px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.5)}.map-live-overlay-top-left{left:12px;top:12px}.map-live-overlay-bottom-center{left:50%;bottom:12px;transform:translateX(-50%)}
.map-live-viewport{position:relative;overflow:hidden;width:100%;height:min(76vh,780px);min-height:480px;border:1px solid var(--line,#333);border-radius:14px;background:var(--map-bg,#0c1014);touch-action:none}
.map-live-stage{position:absolute;left:0;top:0;transform-origin:0 0}.map-live-stage>img{position:absolute;left:0;top:0;display:block;max-width:none!important;max-height:none!important;user-select:none;pointer-events:none}.map-live-stage #map-live-markers{position:absolute;inset:0}
.map-live-marker{position:absolute;z-index:5;transform:translate(-50%,-50%);pointer-events:none}.map-live-marker.is-other-floor{opacity:.28;filter:grayscale(.45) blur(.35px);z-index:2}.map-live-marker.is-other-floor .map-live-marker-title{opacity:.78}.map-live-marker img{display:block;width:30px;height:30px;object-fit:contain}.map-live-marker-title{position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%);white-space:nowrap;padding:3px 6px;border:1px solid rgba(120,120,120,.45);border-radius:5px;background:rgba(15,17,20,.92);color:#fff;font-size:11px}
.map-live-landmark-label{position:absolute;z-index:4;transform:translate(-50%,-50%);pointer-events:none;user-select:none;white-space:nowrap;font-weight:800;line-height:1;letter-spacing:.02em;color:#fff;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 2px 5px #000}
.map-live-player{position:absolute;z-index:10;transform:translate(-50%,-50%);width:34px;height:48px;background:transparent!important;border:0!important;box-shadow:none!important}.map-live-player .map-player-location-direction{position:absolute;inset:0;transform:rotate(var(--player-heading,0deg));transform-origin:50% 35.4%}.map-live-player .map-player-location-direction svg{display:block;width:34px;height:48px;overflow:visible;filter:drop-shadow(0 0 5px rgb(var(--p-500) / .28))}.map-live-player .map-player-location-pin-body{fill:rgb(var(--p-300));stroke:#15181d;stroke-width:3;stroke-linejoin:round}.map-live-player .map-player-location-pin-core{fill:rgb(var(--p-500));stroke:#15181d;stroke-width:2}.map-live-player .map-player-location-label{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%);white-space:nowrap;padding:3px 6px;border:1px solid rgba(120,120,120,.45);border-radius:5px;background:rgba(15,17,20,.94);color:#fff;font-size:11px}
.map-live-player.is-stale{opacity:.42}.map-live-zoom{position:absolute;right:10px;top:10px;z-index:20;display:flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(120,120,120,.55);border-radius:8px;background:rgba(9,11,15,.82);box-shadow:0 2px 8px rgba(0,0,0,.35);backdrop-filter:blur(5px)}.map-live-zoom button,.map-live-zoom span{height:28px;display:flex;align-items:center;justify-content:center;color:#fff;font:600 12px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.map-live-zoom button{width:28px;padding:0;border:0;border-radius:6px;background:rgba(255,255,255,.08);cursor:pointer}.map-live-zoom button:active{background:rgba(255,255,255,.2)}.map-live-zoom span{min-width:46px;padding:0 4px;font-variant-numeric:tabular-nums;user-select:none}.map-live-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--muted,#999)}.map-live-empty[hidden]{display:none}.map-live-note{margin:10px 2px 0;color:var(--muted,#999);font-size:13px}.map-live-login-dialog{text-align:center}.map-live-login-dialog h2{margin:5px 0 0;font-size:22px}.map-live-login-button{display:block;margin-top:16px;padding:12px;border-radius:10px;background:var(--p-500);color:#fff;text-decoration:none;font-weight:700}
@media(max-width:1023px){.map-phone-live-button{display:none!important}.map-live-page{padding:8px}.map-live-toolbar{align-items:flex-start}.map-live-toolbar h1{font-size:18px}.map-live-viewport{height:calc(100vh - 180px);min-height:420px;border-radius:10px}}


.map-phone-modal{
    background:rgba(0,0,0,.48);
}
.map-phone-dialog{
    border-color:rgb(var(--border));
    background:rgb(var(--bg-card));
    color:rgb(var(--text));
    box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.map-phone-dialog .map-eyebrow{
    color:rgb(var(--text-muted));
}
.map-phone-dialog h3{
    color:rgb(var(--text));
}
.map-phone-tip{
    color:rgb(var(--text-dim));
}
.map-phone-dialog .map-locate-close{
    color:rgb(var(--text-dim));
    border-color:rgb(var(--border));
    background:rgb(var(--bg-card));
}
.map-phone-dialog .map-locate-close:hover{
    color:rgb(var(--text));
    background:rgb(var(--bg-card-soft));
}
.map-phone-url{
    border-color:rgb(var(--border));
    background:rgb(var(--bg-card-soft));
    color:rgb(var(--p-600));
    font-weight:600;
}
.map-phone-url:hover{
    border-color:rgb(var(--p-400));
    color:rgb(var(--p-700));
}
html[data-mode="light"] .map-phone-modal{
    background:rgba(15,23,42,.38);
}


.map-locate-toast-container{
  position:absolute;
  top:62px;
  right:12px;
  z-index:20;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  width:min(520px,calc(100% - 24px));
  pointer-events:none;
}
.map-locate-toast{
  max-width:100%;
  padding:10px 14px;
  border:1px solid rgba(16,185,129,.45);
  border-radius:9px;
  background:rgba(16,185,129,.12);
  color:#6ee7b7;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  font-size:.875rem;
  line-height:1.45;
  white-space:normal;
  overflow-wrap:anywhere;
  backdrop-filter:blur(8px);
}
html[data-mode="light"] .map-locate-toast{
  background:rgba(16,185,129,.11);
  border-color:rgba(5,150,105,.35);
  color:#047857;
  box-shadow:0 8px 24px rgba(15,23,42,.10);
}
@media(max-width:1023px){
  .map-locate-toast-container{top:60px;right:10px;width:min(460px,calc(100% - 20px))}
}


.map-list-meta-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch;
}
.map-list-meta-item{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    gap:3px;
    padding:0 14px;
    border-left:1px solid var(--border-color,rgba(148,163,184,.28));
}
.map-list-meta-item:first-child{border-left:0}

.map-list-meta-label{
    font-size:.72rem;
    line-height:1.1;
    color:#94a3b8;
}
.map-list-meta-value{
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:6px;
    min-height:28px;
    font-size:.95rem;
    font-weight:600;
    white-space:nowrap;
}
.map-list-meta-name h2{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
html[data-mode="light"] .map-list-meta-label{color:#64748b}
@media (max-width:640px){
    .map-list-meta-item{padding:0 8px}
    .map-list-meta-value{font-size:.84rem;gap:4px}
    .map-list-meta-name h2{font-size:1rem}
}
@media (max-width:400px){
    .site-pagination-edge,.site-pagination-ellipsis{display:none!important}
}


.task-active-item {
    background: rgb(var(--bg-card));
    border: 1px solid rgb(var(--border));
    color: rgb(var(--text));
}
.task-active-item:hover {
    background: rgb(var(--bg-card-soft));
}


.task-completed-list {
    background: rgb(var(--bg-card));
    border: 1px solid rgb(var(--border));
}
.task-completed-summary {
    list-style: none;
    background: rgb(var(--bg-card));
    color: rgb(var(--text));
}
.task-completed-summary:hover { background: rgb(var(--bg-card-soft)); }
.task-completed-summary::-webkit-details-marker { display: none; }
.task-completed-body {
    border-top: 1px solid rgb(var(--border));
    background: rgb(var(--bg));
}
.task-completed-item {
    background: rgb(var(--bg-card));
    border: 1px solid rgb(var(--border));
    color: rgb(var(--text));
    opacity: .92;
}
.task-completed-item:hover {
    background: rgb(var(--bg-card-soft));
    opacity: 1;
}
.task-completed-divider { background: rgb(var(--border)); }
.task-completed-list[open] .task-completed-chevron { transform: rotate(180deg); }
.task-completed-chevron { transition: transform .18s ease; }


.content-hover-item {
    background: rgb(var(--bg-card));
    border: 1px solid rgb(var(--border));
    color: rgb(var(--text));
}
.content-hover-item:hover {
    background: rgb(var(--bg-card-soft));
}


.site-footer-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px 18px;
    margin-bottom: 8px;
    color: inherit;
    font-size: 13px;
}
.site-footer-stats span {
    white-space: nowrap;
}
.site-footer-stats strong {
    color: inherit;
    font-weight: 600;
}
@media (max-width: 640px) {
    .site-footer-stats { gap: 4px 12px; font-size: 12px; }
}


.trader-hero,.trader-panel,.trader-item-card{background:rgb(var(--bg-card));border-color:rgb(var(--border));color:rgb(var(--text));}
.trader-hero img{border-color:rgb(var(--border));background:rgb(var(--bg-card-soft));}
.trader-accent{color:rgb(var(--p-500));}
.trader-panel table th,.trader-panel table td{padding:13px 16px;text-align:left;border-bottom:1px solid rgb(var(--border));white-space:nowrap;}
.trader-panel table th{font-weight:600;color:rgb(var(--text-muted));background:rgb(var(--bg-card-soft));}
.trader-panel table tbody tr:last-child td{border-bottom:0;}
.trader-tabs{border-color:rgb(var(--border));}
.trader-tab{padding:12px 2px;margin-bottom:-1px;border-bottom:2px solid transparent;font-weight:600;color:rgb(var(--text-muted));}
.trader-tab span{font-size:12px;opacity:.65;margin-left:4px;}
.trader-tab.is-active{color:rgb(var(--text));border-bottom-color:rgb(var(--p-500));}
.trader-items-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.trader-item-card{display:block;transition:background-color .15s ease,border-color .15s ease;}
.trader-item-card:hover{background:rgb(var(--bg-card-soft));border-color:rgb(var(--p-500));}
.trader-item-img{width:84px;height:84px;flex:0 0 84px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgb(var(--bg-card-soft));overflow:hidden;}
.trader-item-img img{width:100%;height:100%;object-fit:contain;}
@media(max-width:1000px){.trader-items-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.trader-items-grid{grid-template-columns:1fr}.trader-page{padding-left:12px;padding-right:12px}.trader-item-img{width:72px;height:72px;flex-basis:72px;}}


.trader-hero-top{display:flex;align-items:center;gap:20px;}
.trader-avatar{width:136px;height:136px;}
.trader-description{margin-top:18px;}
.trader-level-section{margin-top:32px;}
.trader-level-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:16px;}
.trader-level-btn{min-width:58px;height:36px;padding:0 14px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--bg-card));color:rgb(var(--text-muted));font-size:13px;font-weight:600;transition:.15s ease;}
.trader-level-btn:hover{border-color:rgb(var(--p-500));color:rgb(var(--text));}
.trader-level-btn.is-active{border-color:rgb(var(--p-500));background:rgb(var(--p-500) / .12);color:rgb(var(--p-500));}
.trader-category-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:10px;}
.trader-category-filters.hidden{display:none!important;}
.trader-category-label{margin-right:2px;color:rgb(var(--text-muted));font-size:13px;font-weight:600;}
.trader-category-btn{height:34px;padding:0 12px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--bg-card));color:rgb(var(--text-muted));font-size:13px;font-weight:600;transition:.15s ease;white-space:nowrap;}
.trader-category-btn:hover{border-color:rgb(var(--p-500));color:rgb(var(--text));}
.trader-category-btn.is-active{border-color:rgb(var(--p-500));background:rgb(var(--p-500) / .12);color:rgb(var(--p-500));}
.trader-filter-empty{grid-column:1/-1;padding:32px;text-align:center;color:rgb(var(--text-muted));border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--bg-card));}
@media(max-width:640px){
  .trader-hero{padding:16px!important;}
  .trader-hero-top{align-items:center;gap:14px;}
  .trader-avatar{width:88px;height:88px;}
  .trader-name-wrap h1{font-size:28px;line-height:1.15;}
  .trader-description{margin-top:14px;line-height:1.75;}
  .trader-level-section{margin-top:24px;}
  .trader-category-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin;}
  .trader-category-label{flex:0 0 auto;}
  .trader-category-btn{flex:0 0 auto;}
}


.exchange-table{min-width:1220px}
.exchange-table th:nth-child(1){width:25%}
.exchange-table th:nth-child(2){width:31%}
.exchange-table th:nth-child(3){width:8%}
.exchange-table th:nth-child(4){width:6%}
.exchange-table th:nth-child(5){width:8%}
.exchange-table th:nth-child(6){width:8%}
.exchange-table th:nth-child(7){width:9%}
.exchange-table th:nth-child(8){width:5%}
.exchange-table th:nth-child(n+3),.exchange-table td:nth-child(n+3){text-align:center!important}
.exchange-cost,.exchange-flea,.exchange-profit{font-variant-numeric:tabular-nums;white-space:nowrap}
.exchange-task-link{color:rgb(var(--p-600));font-weight:600}.exchange-task-link:hover{color:rgb(var(--p-500));text-decoration:none}
.exchange-material img{border-radius:.4rem!important;background:rgb(var(--bg-card-soft))!important}
@media(max-width:760px){.exchange-table td:nth-child(1)::before{content:'交换物品'!important}}
@media(max-width:640px){
 .exchange-table{min-width:0}
 .exchange-table td:nth-child(1),.exchange-table td:nth-child(2){display:block!important;grid-column:1/-1;text-align:left!important}
 .exchange-table td:nth-child(n+3){display:flex!important;grid-column:auto;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid rgb(var(--border));text-align:right!important}
 .exchange-table td:nth-child(4),.exchange-table td:nth-child(6),.exchange-table td:nth-child(8){border-left:1px solid rgb(var(--border))!important}
 .exchange-table td:nth-child(7),.exchange-table td:nth-child(8){border-bottom:0}
 .exchange-table td:nth-child(n+3)::before{display:inline!important;margin:0!important;flex:0 0 auto}
 .exchange-table td:nth-child(3)::before{content:'商人'}
 .exchange-table td:nth-child(4)::before{content:'等级'}
 .exchange-table td:nth-child(5)::before{content:'材料成本'}
 .exchange-table td:nth-child(6)::before{content:'跳蚤售价'}
 .exchange-table td:nth-child(7)::before{content:'利润'}
 .exchange-table td:nth-child(8)::before{content:'数量'}
}


.price-page{color:rgb(var(--text))}.price-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.price-head h1{display:flex;align-items:center;gap:.65rem;font-size:1.5rem;font-weight:700;white-space:nowrap}.price-head h1 i{color:rgb(var(--p-500))}.price-modes,.price-categories{display:flex;align-items:center;gap:.45rem}.price-modes a,.price-categories a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.4rem .8rem;border:1px solid rgb(var(--border));border-radius:.55rem;background:rgb(var(--bg-card));font-size:.82rem;font-weight:600;white-space:nowrap}.price-modes a.is-active,.price-categories a.is-active{border-color:rgb(var(--p-500));background:rgb(var(--p-500)/.1);color:rgb(var(--p-500))}.price-search{display:block;width:100%;margin:1.5rem 0 1rem;padding:1rem;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card))}.price-search input{display:block;width:100%;height:40px;padding:0 .8rem;border:1px solid rgb(var(--border));border-radius:.4rem;background:rgb(var(--bg));color:rgb(var(--text));font-size:.875rem;outline:none}.price-search input:focus{border-color:rgb(var(--p-500));box-shadow:0 0 0 2px rgb(var(--p-500)/.1)}.price-categories{justify-content:flex-start;flex-wrap:wrap}.price-summary{margin:.85rem 0;font-size:.8rem;color:rgb(var(--text-muted))}.price-table-wrap{overflow:auto;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card))}.price-table{width:100%;min-width:1050px;table-layout:fixed;border-collapse:collapse;font-size:.82rem}.price-table th,.price-table td{padding:.65rem .8rem;border-right:1px solid rgb(var(--border));border-bottom:1px solid rgb(var(--border));text-align:center;vertical-align:middle;white-space:nowrap}.price-table th:last-child,.price-table td:last-child{border-right:0}.price-table tbody tr:last-child td{border-bottom:0}.price-table thead th{background:rgb(var(--bg-card-soft));font-weight:700}.price-table .price-item-col,.price-table td:first-child{width:330px;text-align:left}.price-table tbody tr:hover{background:rgb(var(--bg-card-soft))}.price-item-link{display:flex;align-items:center;gap:.75rem;min-width:0;color:inherit}.price-item-image{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 52px;overflow:hidden;border-radius:.4rem;background:rgb(var(--bg-card-soft))}.price-item-image img{display:block;width:100%;height:100%;object-fit:contain}.price-item-link>span:last-child{display:flex;min-width:0;flex-direction:column;gap:.2rem}.price-item-link b{overflow:hidden;text-overflow:ellipsis;font-size:.86rem}.price-item-link small{overflow:hidden;text-overflow:ellipsis;color:rgb(var(--text-muted));font-size:.73rem}.price-item-link:hover b{color:rgb(var(--p-500))}.price-trader-name,.price-trader-value{display:block}.price-trader-value{margin-top:.15rem}.price-difference{color:#15803d;font-weight:700}.price-difference.is-negative{color:#dc2626}.price-empty{padding:5rem 1rem;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card));text-align:center;color:rgb(var(--text-muted))}.price-load-sentinel{min-height:2.5rem;padding:.75rem;text-align:center;color:rgb(var(--text-muted));font-size:.78rem}
html[data-mode="dark"] .price-difference{color:#4ade80}html[data-mode="dark"] .price-difference.is-negative{color:#f87171}
@media(max-width:640px){.price-page{padding:1.25rem .625rem}.price-head{gap:.5rem}.price-head h1{font-size:1.35rem}.price-modes{flex-wrap:nowrap;margin-left:auto;gap:.3rem}.price-modes a{min-height:34px;padding:.35rem .6rem}.price-search{margin-top:1.1rem;padding:.75rem}.price-categories{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem}.price-categories a{flex:0 0 auto}.price-summary{margin-top:.55rem}.price-table{min-width:930px}.price-table .price-item-col,.price-table td:first-child{width:270px}.price-table th,.price-table td{padding:.6rem .65rem}.price-item-image{width:46px;height:46px;flex-basis:46px}}


.resale-page{color:rgb(var(--text))}.resale-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.resale-head h1{display:flex;align-items:center;gap:.65rem;font-size:1.5rem;font-weight:700;white-space:nowrap}.resale-head h1 i{color:rgb(var(--p-500))}.resale-modes,.resale-levels{display:flex;align-items:center;gap:.45rem}.resale-modes a,.resale-levels a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.4rem .8rem;border:1px solid rgb(var(--border));border-radius:.55rem;background:rgb(var(--bg-card));font-size:.82rem;font-weight:600;white-space:nowrap}.resale-modes a.is-active,.resale-levels a.is-active{border-color:rgb(var(--p-500));background:rgb(var(--p-500)/.1);color:rgb(var(--p-500))}.resale-filters{display:flex;align-items:flex-end;gap:1rem;margin:1.5rem 0 1rem;padding:1rem;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card))}.resale-filters label{display:grid;gap:.45rem;min-width:240px}.resale-filters label>span,.resale-levels>span{font-size:.78rem;font-weight:700}.resale-filters select{height:38px;padding:0 .8rem;border:1px solid rgb(var(--border));border-radius:.45rem;background:rgb(var(--bg));color:rgb(var(--text));outline:none}.resale-levels{flex-wrap:wrap}.resale-levels>span{width:100%}.resale-summary{margin:.85rem 0;font-size:.8rem;color:rgb(var(--text-muted))}.resale-table-wrap{overflow:auto;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card))}.resale-table{width:100%;min-width:1000px;table-layout:fixed;border-collapse:collapse;font-size:.82rem}.resale-table th,.resale-table td{padding:.65rem .8rem;border-right:1px solid rgb(var(--border));border-bottom:1px solid rgb(var(--border));text-align:center;vertical-align:middle;white-space:nowrap}.resale-table th:last-child,.resale-table td:last-child{border-right:0}.resale-table tbody tr:last-child td{border-bottom:0}.resale-table thead th{background:rgb(var(--bg-card-soft));font-weight:700}.resale-table .resale-item-col,.resale-table td:first-child{width:330px;text-align:left}.resale-table tbody tr:hover{background:rgb(var(--bg-card-soft))}.resale-item-link{display:flex;align-items:center;gap:.75rem;min-width:0;color:inherit}.resale-item-image{display:flex;align-items:center;justify-content:center;width:52px;height:52px;flex:0 0 52px;overflow:hidden;border-radius:.4rem;background:rgb(var(--bg-card-soft))}.resale-item-image img{display:block;width:100%;height:100%;object-fit:contain}.resale-item-link>span:last-child{display:flex;min-width:0;flex-direction:column;gap:.2rem}.resale-item-link b,.resale-item-link small{overflow:hidden;text-overflow:ellipsis}.resale-item-link b{font-size:.86rem}.resale-item-link small{color:rgb(var(--text-muted));font-size:.72rem}.resale-item-link:hover b{color:rgb(var(--p-500))}.resale-profit{color:#15803d;font-weight:700}.resale-empty{padding:5rem 1rem;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card));text-align:center;color:rgb(var(--text-muted))}.resale-load-sentinel{min-height:2.5rem;padding:.75rem;text-align:center;color:rgb(var(--text-muted));font-size:.78rem}html[data-mode="dark"] .resale-profit{color:#4ade80}
@media(max-width:640px){.resale-page{padding:1.25rem .625rem}.resale-head{gap:.5rem}.resale-head h1{font-size:1.35rem}.resale-modes{flex-wrap:nowrap;margin-left:auto;gap:.3rem}.resale-modes a{min-height:34px;padding:.35rem .6rem}.resale-filters{align-items:stretch;flex-direction:column;margin-top:1.1rem;padding:.75rem}.resale-filters label{min-width:0}.resale-levels{flex-wrap:nowrap;overflow-x:auto}.resale-levels>span{display:none}.resale-levels a{flex:0 0 auto}.resale-table{min-width:900px}.resale-table .resale-item-col,.resale-table td:first-child{width:270px}.resale-table th,.resale-table td{padding:.6rem .65rem}.resale-item-image{width:46px;height:46px;flex-basis:46px}}


.trader-level-table table thead th{background:rgb(var(--bg-card-soft));color:rgb(var(--text));}
html[data-mode="dark"] .trader-level-table table thead th{background:rgb(var(--p-500) / .10);color:rgb(var(--text));}
.trader-level-btn.is-active{border-color:rgb(var(--p-500));box-shadow:0 0 0 1px rgb(var(--p-500) / .16);}
.trader-level-btn:hover{border-color:rgb(var(--p-500));}
.trader-item-name-link,.trader-required-link{color:inherit;text-decoration:none;}
.trader-item-name-link:hover,.trader-required-link:hover{color:rgb(var(--p-500));}
.trader-task-link{color:rgb(var(--p-500));text-decoration:none;font-weight:600;}
.trader-task-link:hover{text-decoration:none;}
.task-unlock-link,
.item-recipe-task-link,
.exchange-task-link,
.fabrication-task-link,
.resale-task-link,
.trader-task-link,
.task-unlock-link:hover,
.item-recipe-task-link:hover,
.exchange-task-link:hover,
.fabrication-task-link:hover,
.resale-task-link:hover,
.trader-task-link:hover{
  text-decoration:none!important;
}
.trader-item-link{cursor:pointer;}


.trader-hero-top{
  display:grid;
  grid-template-columns:136px minmax(0,1fr);
  grid-template-rows:auto 1fr;
  column-gap:20px;
  row-gap:10px;
  align-items:start;
}
.trader-avatar{grid-column:1;grid-row:1 / span 2;width:136px;height:136px;}
.trader-name-wrap{grid-column:2;grid-row:1;align-self:end;}
.trader-description{grid-column:2;grid-row:2;margin-top:0;color:rgb(var(--text));align-self:start;}
.trader-item-card .font-bold,.trader-item-card .text-xs{color:rgb(var(--text));}
@media(max-width:640px){
  .trader-hero-top{grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:14px;align-items:center;}
  .trader-avatar{grid-column:1;grid-row:1;width:88px;height:88px;}
  .trader-name-wrap{grid-column:2;grid-row:1;align-self:center;}
  .trader-description{grid-column:1 / -1;grid-row:2;margin-top:0;}
}


@media (min-width:641px){
  .trader-hero-top{display:grid;grid-template-columns:136px minmax(0,1fr);grid-template-rows:136px;column-gap:20px;align-items:stretch;}
  .trader-avatar{grid-column:1;grid-row:1;width:136px;height:136px;}
  .trader-info-wrap{grid-column:2;grid-row:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:12px;}
  .trader-name-wrap{align-self:stretch;}
  .trader-description{margin-top:0;align-self:stretch;}
}
@media (max-width:640px){
  .trader-info-wrap{display:contents;}
  .trader-name-wrap{grid-column:2;grid-row:1;align-self:center;}
  .trader-description{grid-column:1 / -1;grid-row:2;margin-top:0;}
}


.boss-page .boss-section { margin-top: 2rem; }
.boss-page .boss-section > h2 { font-size: 1.25rem; font-weight: 700; margin-bottom: 1rem; }
.boss-hero { min-height: 150px; display: flex; align-items: center; }
.boss-hero-main { display:flex; align-items:center; gap:1.25rem; }
.boss-hero-image { width:120px; height:120px; object-fit:cover; border-radius:.75rem; }
.boss-title { font-size:2rem; line-height:1.1; font-weight:700; }
.boss-id { margin-top:.5rem; font-size:.875rem; opacity:.62; }
.boss-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.boss-gallery a, .boss-promo-grid a { display:block; overflow:hidden; border-radius:.75rem; border:1px solid rgb(var(--border)); background:rgb(var(--bg-card)); }
.boss-gallery img { width:100%; height:210px; object-fit:cover; display:block; transition:transform .2s ease; }
.boss-gallery a:hover img, .boss-promo-grid a:hover img { transform:scale(1.02); }
.boss-table-wrap { overflow-x:auto; border:1px solid rgb(var(--border)); border-radius:.75rem; background:rgb(var(--bg-card)); }
.boss-health-table { width:100%; min-width:760px; border-collapse:collapse; }
.boss-health-table th,.boss-health-table td { padding:.9rem 1rem; text-align:center; border-bottom:1px solid rgb(var(--border)); }
.boss-health-table th { background:rgb(var(--bg-soft)); font-weight:600; }
.boss-health-table tbody tr:last-child td { border-bottom:0; }
.boss-spawn-grid { display:grid; grid-template-columns:repeat(var(--boss-spawn-columns,5),minmax(0,1fr)); gap:1rem; }
.boss-theme-link { color:rgb(var(--p-500)); }
.boss-subtitle { margin:1.25rem 0 .75rem; font-size:1rem; font-weight:700; }
.boss-loadout-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.boss-items-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
.boss-item-card { display:flex; align-items:center; gap:.75rem; padding:.6rem; border:1px solid rgb(var(--border)); border-radius:.65rem; background:rgb(var(--bg-card)); color:inherit; min-width:0; }
.boss-item-card:hover { background:rgb(var(--bg-card-soft)); }
.boss-item-card img { width:58px; height:58px; object-fit:contain; flex:0 0 58px; }
.boss-item-name { font-weight:400; line-height:1.35; overflow-wrap:anywhere; }
.boss-item-extra { font-size:.8rem; opacity:.7; margin-top:.2rem; }
.boss-ammo { margin-top:.9rem; padding-top:.75rem; border-top:1px solid rgb(var(--border)); display:grid; gap:.5rem; }
.boss-ammo-title { font-size:.8rem; opacity:.7; }
.boss-voice-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.boss-voice-list audio { width:100%; }
.boss-promo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.boss-promo-grid img { width:100%; height:280px; object-fit:cover; display:block; transition:transform .2s ease; }
.boss-list-image { aspect-ratio:16/10; overflow:hidden; background:rgb(var(--bg-soft)); }
.boss-list-image img { width:100%; height:100%; object-fit:cover; transition:transform .2s ease; }
.boss-list-card:hover .boss-list-image img { transform:scale(1.025); }
@media (max-width: 1024px) { .boss-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.boss-loadout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.boss-items-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.boss-spawn-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width: 640px) { .boss-hero{min-height:0}.boss-hero-image{width:88px;height:88px}.boss-title{font-size:1.6rem}.boss-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.boss-gallery img{height:135px}.boss-spawn-grid,.boss-loadout-grid,.boss-voice-list{grid-template-columns:1fr}.boss-items-grid{grid-template-columns:1fr}.boss-promo-grid{grid-template-columns:1fr}.boss-promo-grid img{height:auto}.boss-item-card img{width:52px;height:52px;flex-basis:52px} }


.boss-overview{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0;
  align-items:stretch;
  margin-bottom:1.5rem;
  border:1px solid rgb(var(--border));
  border-radius:1rem;
  background:rgb(var(--bg-card));
  overflow:hidden;
}
.boss-profile,.boss-health-panel{min-width:0;padding:1.5rem}
.boss-profile{display:flex;flex-direction:column;min-height:560px}
.boss-health-panel{border-left:1px solid rgb(var(--border));display:flex;flex-direction:column}
.boss-profile .boss-title,.boss-health-panel>h2{margin:0 0 1.25rem;font-size:1.5rem;line-height:1.2;font-weight:700}
.boss-profile-image-button{display:flex;flex:1;align-items:center;justify-content:center;width:100%;min-height:0;padding:0;border:0;background:transparent;cursor:zoom-in}
.boss-profile-image{display:block;width:100%;height:100%;max-height:500px;object-fit:contain;object-position:center}
.boss-health-panel .boss-table-wrap{flex:1;display:flex;align-items:stretch;overflow:hidden}
.boss-health-table-vertical{min-width:0;height:100%}
.boss-health-table-vertical tbody{height:100%}
.boss-health-table-vertical tr{height:12.5%}
.boss-health-table-vertical th,.boss-health-table-vertical td{padding:.85rem 1rem;border-bottom:1px solid rgb(var(--border));text-align:left;vertical-align:middle}
.boss-health-table-vertical th{width:46%;background:rgb(var(--bg-soft));font-weight:600}
.boss-health-table-vertical td{text-align:right;font-weight:600}
.boss-health-table-vertical tr:last-child th,.boss-health-table-vertical tr:last-child td{border-bottom:0}
.boss-page .boss-section{
  margin-top:1.5rem;
  padding:1.5rem;
  border:1px solid rgb(var(--border));
  border-radius:1rem;
  background:rgb(var(--bg-card));
}
.boss-page .boss-section > h2{font-size:1.25rem;font-weight:700;margin:0 0 1rem}
.boss-image-lightbox[hidden]{display:none!important}
.boss-image-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:transparent;cursor:zoom-out}
.boss-image-lightbox::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.02)}
.boss-image-lightbox img{position:relative;z-index:1;display:block;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);object-fit:contain;cursor:zoom-out}
@media(max-width:768px){
  .boss-overview{grid-template-columns:1fr}
  .boss-profile,.boss-health-panel{padding:1rem}
  .boss-profile{min-height:0}
  .boss-health-panel{border-left:0;border-top:1px solid rgb(var(--border))}
  .boss-profile .boss-title,.boss-health-panel>h2{font-size:1.35rem;margin-bottom:1rem}
  .boss-profile-image-button{min-height:320px}
  .boss-profile-image{height:auto;max-height:440px}
  .boss-page .boss-section{padding:1rem}
  .boss-image-lightbox{padding:12px}
}


.boss-panel-title{text-align:center}
.boss-health-panel>h2.boss-panel-title,.boss-profile .boss-title.boss-panel-title{text-align:center}
.boss-voice-single{width:100%}
.boss-voice-single audio{display:block;width:100%;max-width:none}
@media(max-width:768px){.boss-panel-title{text-align:center}}


.boss-weapon-group{min-width:0;width:100%}
.boss-weapon-group>.boss-item-card,.boss-weapon-group .boss-ammo>.boss-item-card{width:100%;box-sizing:border-box}
.boss-weapon-group .boss-ammo{width:100%;box-sizing:border-box}


.boss-loadout-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
@media(max-width:1024px){.boss-loadout-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.boss-loadout-grid{grid-template-columns:1fr}}


.boss-related-task-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.boss-related-task-card{display:flex;align-items:center;min-height:54px;padding:.85rem 1rem;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card));color:inherit;font-weight:400;transition:background-color .15s ease}
.boss-related-task-card:hover{background:rgb(var(--bg-card-soft));color:inherit}
@media(max-width:1024px){.boss-related-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  .boss-spawn-grid{display:flex;flex-direction:column;gap:.65rem}
  .boss-spawn-grid>.theme-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.75rem;width:100%;box-sizing:border-box;padding:.8rem 1rem!important}
  .boss-spawn-grid>.theme-card>div{min-width:0;margin-top:0!important}
  .boss-spawn-grid>.theme-card>div:last-child{text-align:right}
  .boss-related-task-grid{grid-template-columns:1fr}
}


.boss-loadout-grid{column-gap:.75rem;row-gap:1.5rem}
@media(max-width:640px){
  .boss-loadout-grid{row-gap:1.5rem}
}


.boss-related-boss-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.boss-related-boss-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgb(var(--border));border-radius:12px;color:rgb(var(--text));text-decoration:none;background:rgb(var(--bg-card));transition:background-color .15s ease}.boss-related-boss-card:hover{background:rgb(var(--bg-hover))}.boss-related-boss-card img{width:52px;height:52px;object-fit:contain;flex:0 0 52px}.boss-relation-type{font-size:12px;opacity:.7;margin-bottom:3px}.boss-relation-name{font-size:15px;font-weight:400}@media(max-width:900px){.boss-related-boss-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.boss-related-boss-grid{grid-template-columns:1fr}}


.boss-spawn-card{min-width:0}
.boss-spawn-title-line{display:flex;align-items:center;gap:.55rem;min-width:0}
.boss-spawn-title-line>div{min-width:0}
.boss-spawn-rate{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:24px;padding:2px 8px;border-radius:999px;background:rgb(var(--bg-card-soft));border:1px solid rgb(var(--border));font-size:.78rem;font-weight:600;line-height:1;color:rgb(var(--text-muted));white-space:nowrap}
.boss-spawn-area{margin-top:.55rem;opacity:.8}
@media(max-width:640px){
  .boss-spawn-grid>.boss-spawn-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:.75rem;padding:.8rem 1rem!important}
  .boss-spawn-title-line{min-width:0}
  .boss-spawn-area{margin-top:0;text-align:right;min-width:0}
}


.page-theme-title>i{color:rgb(var(--p-500))}
.trader-list-grid,.boss-list-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.trader-list-card,.boss-list-card{display:block;min-width:0;color:inherit;text-decoration:none;text-align:center}
.trader-list-image,.boss-list-image{width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:transparent;border:0;border-radius:0}
.trader-list-image img,.boss-list-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .18s ease}
.trader-list-card:hover img,.boss-list-card:hover img{transform:scale(1.02)}
.trader-list-card h2,.boss-list-card h2{margin:.65rem 0 0;font-size:1rem;line-height:1.35;font-weight:500;text-align:center;color:rgb(var(--text))}
@media(min-width:1025px){
  .trader-list-grid,.boss-list-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem}
}
@media(max-width:640px){
  .trader-list-grid,.boss-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem .8rem}
  .trader-list-card h2,.boss-list-card h2{margin-top:.5rem;font-size:.95rem}
}


.trader-list-grid,.boss-list-grid{
  grid-template-columns:repeat(4,200px);
  gap:1.5rem;
  justify-content:start;
}
.trader-list-card,.boss-list-card{width:200px}
.trader-list-image,.boss-list-image{width:200px;height:200px;aspect-ratio:auto}
@media(min-width:1025px){
  .trader-list-grid,.boss-list-grid{grid-template-columns:repeat(4,200px);gap:1.5rem}
}
@media(max-width:900px){
  .trader-list-grid,.boss-list-grid{grid-template-columns:repeat(2,200px)}
}
@media(max-width:480px){
  .trader-list-grid,.boss-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem .8rem}
  .trader-list-card,.boss-list-card{width:100%}
  .trader-list-image,.boss-list-image{width:100%;height:auto;aspect-ratio:1/1}
}


.trader-list-grid,.boss-list-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:0;
  row-gap:1.5rem;
  width:100%;
  justify-content:stretch;
}
.trader-list-card,.boss-list-card{
  width:200px;
  max-width:100%;
  justify-self:center;
}
.trader-list-image,.boss-list-image{
  width:200px;
  max-width:100%;
  height:200px;
}
@media(max-width:900px){
  .trader-list-grid,.boss-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .trader-list-grid,.boss-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.8rem;row-gap:1rem}
  .trader-list-card,.boss-list-card{width:100%}
  .trader-list-image,.boss-list-image{width:100%;height:auto;aspect-ratio:1/1}
}


.item-image-lightbox,
.boss-image-lightbox{
  background:rgba(10,13,18,.58)!important;
  -webkit-backdrop-filter:blur(6px) saturate(.9);
  backdrop-filter:blur(6px) saturate(.9);
}
html[data-mode="light"] .item-image-lightbox,
html[data-mode="light"] .boss-image-lightbox{
  background:rgba(244,247,250,.68)!important;
}
.boss-image-lightbox::before{display:none!important}
.item-image-lightbox img{cursor:zoom-out}
.item-image-lightbox img{max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important}


.item-rank-filter,.item-rank-sort{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.45rem .85rem;border:1px solid rgb(var(--border));border-radius:.55rem;background:rgb(var(--bg-card));color:rgb(var(--text));font-size:.875rem;transition:background-color .15s,border-color .15s,color .15s}
.item-rank-filter:hover,.item-rank-sort:hover{background:rgb(var(--bg-card-soft));color:rgb(var(--text))}
.item-rank-filter.is-active,.item-rank-sort.is-active{border-color:rgb(var(--p-500));color:rgb(var(--p-500));background:rgb(var(--p-500)/.08)}
.item-rank-table-wrap{border:1px solid rgb(var(--border))}
.item-rank-table tr[hidden]{display:none!important}
.item-rank-table{border-collapse:collapse;color:rgb(var(--text));font-size:.925rem}
.item-rank-table th{padding:.85rem 1rem;border-bottom:1px solid rgb(var(--border));background:rgb(var(--bg-card-soft));color:rgb(var(--text-muted));font-weight:600;white-space:nowrap}
.item-rank-table td{padding:.75rem 1rem;border-bottom:1px solid rgb(var(--border));vertical-align:middle}
.item-rank-table tbody tr:last-child td{border-bottom:0}
.item-rank-table tbody tr:hover{background:rgb(var(--bg-card-soft))}
.item-rank-item{display:inline-flex;align-items:center;gap:.85rem;min-width:0;color:inherit}
.item-rank-item:hover{color:inherit}
.item-rank-item img{width:64px;height:64px;object-fit:contain;flex:0 0 64px}
.item-rank-item span{display:flex;flex-direction:column;min-width:0}
.item-rank-item strong{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}
.item-rank-item small{margin-top:.2rem;color:rgb(var(--text-muted));font-size:.75rem}
@media(max-width:700px){
  .item-rank-page{padding:1.25rem .625rem 2rem}
  .item-rank-heading{margin-bottom:1rem;padding:0 .125rem}
  .item-rank-heading h1{font-size:1.35rem;line-height:1.75rem}
  .item-rank-heading>div{font-size:.8rem}
  .item-rank-controls{padding:0!important;margin-bottom:.75rem!important;border:0!important;background:transparent!important;box-shadow:none!important;gap:.45rem!important}
  .item-rank-filter,.item-rank-sort{min-height:34px;padding:.38rem .72rem;font-size:.8125rem;border-radius:.5rem}
  .item-rank-sorts{margin-bottom:1rem!important}
  .item-rank-table-wrap{border-radius:.75rem}
  .item-rank-table thead{display:none}
  .item-rank-table,.item-rank-table tbody,.item-rank-table tr,.item-rank-table td{display:block;width:100%}
  .item-rank-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.25rem;row-gap:.7rem;padding:1rem;border-bottom:1px solid rgb(var(--border))}
  .item-rank-table tbody tr:last-child{border-bottom:0}
  .item-rank-table td{padding:0;border:0!important;text-align:left!important;min-width:0}
  .item-rank-table td:first-child{display:none}
  .item-rank-table td:nth-child(2){grid-column:1/-1;padding-bottom:.2rem}
  .item-rank-table td[data-label]{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;font-size:.875rem}
  .item-rank-table td[data-label]::before{content:attr(data-label);color:rgb(var(--text-muted));font-weight:400;white-space:nowrap}
  .item-rank-table td[data-label]{text-align:left!important}
  .item-rank-item{width:100%;gap:.75rem}
  .item-rank-item img{width:52px;height:52px;flex-basis:52px}
  .item-rank-item strong{font-size:.925rem;white-space:normal;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .item-rank-item small{font-size:.7rem}
}
@media(max-width:360px){
  .item-rank-table tr{column-gap:.85rem;padding:.875rem}
  .item-rank-table td[data-label]{font-size:.8125rem}
}


.goon-page-title{display:flex;align-items:center;margin-bottom:1.25rem}.goon-page-title h1{font-size:1.5rem;font-weight:700}.goon-page-title h1 i{margin-right:.6rem;color:rgb(var(--p-500))}.goon-notice{display:flex;align-items:flex-start;gap:.85rem;width:100%;padding:1rem 1.1rem;margin-bottom:1rem;border-radius:.75rem}.goon-notice>i{margin-top:.15rem;color:rgb(var(--p-500))}.goon-notice strong{display:block;font-size:.9rem;margin-bottom:.25rem}.goon-notice p{font-size:.82rem;line-height:1.65;color:rgb(var(--text-muted))}
.goon-page{color:rgb(var(--text))}.goon-hero{display:flex;align-items:stretch;justify-content:space-between;gap:2rem;padding-bottom:1.5rem;margin-bottom:1.25rem;border-bottom:1px solid rgb(var(--border))}.goon-kicker{font-size:.75rem;font-weight:700;letter-spacing:.08em;color:rgb(var(--p-500));margin-bottom:.45rem}.goon-hero h1{font-size:2rem;line-height:1.2;font-weight:800}.goon-hero p{margin-top:.55rem;color:rgb(var(--text-muted))}.goon-note{width:min(420px,38%);display:flex;gap:.8rem;padding:1rem;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card));color:rgb(var(--text-muted));font-size:.82rem}.goon-note>i{color:rgb(var(--p-500));font-size:1.05rem}.goon-note strong,.goon-note span{display:block}.goon-note strong{color:rgb(var(--text));margin-bottom:.35rem}.goon-top-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:1rem}.goon-report-card,.goon-latest,.goon-rates,.goon-members,.goon-maps{padding:1rem;border-radius:.8rem}.goon-page h2{font-size:1.05rem;font-weight:700}.goon-page h2 i{color:rgb(var(--p-500));margin-right:.45rem}.goon-field-title{margin:.9rem 0 .4rem;color:rgb(var(--text-muted));font-size:.78rem;font-weight:600}.goon-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem}.goon-mode-grid{grid-template-columns:repeat(3,1fr)}.goon-choice-grid input{position:absolute;opacity:0;pointer-events:none}.goon-choice-grid span{display:flex;align-items:center;justify-content:center;min-height:38px;border:1px solid rgb(var(--border));border-radius:.55rem;background:rgb(var(--bg-card-soft));font-size:.86rem;font-weight:600;cursor:pointer}.goon-choice-grid input:checked+span{border-color:rgb(var(--p-500));background:rgb(var(--p-500)/.12);color:rgb(var(--p-500))}.goon-current{margin-top:.9rem;padding:.75rem;border-radius:.55rem;background:rgb(var(--bg-card-soft));font-size:.78rem;color:rgb(var(--text-muted))}.goon-current strong{display:block;margin-top:.2rem;color:rgb(var(--text))}.goon-submit{display:flex;width:100%;align-items:center;justify-content:center;min-height:42px;margin-top:.7rem;border-radius:.55rem;background:rgb(var(--p-500));color:#fff;font-weight:700}.goon-submit:hover{filter:brightness(.95);color:#fff}.goon-hint{font-size:.72rem!important;margin-top:.6rem!important}.goon-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.goon-section-head>span{font-size:.75rem;color:rgb(var(--text-muted))}.goon-inline-modes{display:flex;gap:.35rem}.goon-inline-modes a{padding:.35rem .65rem;border:1px solid rgb(var(--border));border-radius:.45rem;font-size:.75rem}.goon-inline-modes a.is-active{border-color:rgb(var(--p-500));color:rgb(var(--p-500));background:rgb(var(--p-500)/.1)}.goon-latest-focus{display:flex;align-items:center;gap:.85rem;padding:1rem;margin:.9rem 0 .7rem;border:1px solid rgb(var(--p-500)/.35);border-radius:.65rem;background:linear-gradient(90deg,rgb(var(--p-500)/.12),transparent)}.goon-radar{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgb(var(--p-500)/.35);border-radius:50%;color:rgb(var(--p-500));font-size:1.2rem}.goon-latest-focus small,.goon-latest-focus strong,.goon-latest-focus div>span{display:block}.goon-latest-focus small,.goon-latest-focus div>span{font-size:.75rem;color:rgb(var(--text-muted))}.goon-latest-focus strong{font-size:1.25rem}.goon-report-list{border:1px solid rgb(var(--border));border-radius:.65rem;overflow:hidden}.goon-report-row{display:grid;grid-template-columns:1fr 1fr 1fr 90px;gap:.75rem;padding:.7rem .8rem;border-bottom:1px solid rgb(var(--border));font-size:.78rem}.goon-report-row:last-child{border:0}.goon-report-row span,.goon-report-row time{color:rgb(var(--text-muted))}.goon-report-row time{text-align:right}.goon-empty{grid-column:1/-1;padding:2rem;text-align:center;color:rgb(var(--text-muted));font-size:.85rem}.goon-rates{margin-top:1rem}.goon-rate-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1rem}.goon-rate-mode h3{font-size:.85rem;font-weight:700;margin-bottom:.6rem;color:rgb(var(--p-500))}.goon-rate-row{display:grid;grid-template-columns:1fr auto;gap:.3rem;margin:.55rem 0;font-size:.78rem}.goon-rate-row strong{color:rgb(var(--p-500))}.goon-rate-row>div{grid-column:1/-1;height:5px;border-radius:9px;background:rgb(var(--border));overflow:hidden}.goon-rate-row i{display:block;height:100%;border-radius:inherit;background:rgb(var(--p-500))}.goon-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.goon-member-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:1rem}.goon-member-grid a,.goon-map-grid a{overflow:hidden;border:1px solid rgb(var(--border));border-radius:.65rem;background:rgb(var(--bg-card-soft));color:inherit}.goon-member-grid img{width:100%;height:170px;object-fit:cover}.goon-member-grid strong,.goon-member-grid span{display:block;padding:0 .75rem}.goon-member-grid strong{padding-top:.65rem}.goon-member-grid span{padding-top:.15rem;padding-bottom:.7rem;font-size:.72rem;color:rgb(var(--text-muted))}.goon-map-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1rem}.goon-map-grid img{width:100%;height:120px;object-fit:cover}.goon-map-grid a div{padding:.65rem}.goon-map-grid strong,.goon-map-grid span{display:block}.goon-map-grid span{font-size:.72rem;color:rgb(var(--text-muted));margin-top:.15rem}
@media(max-width:900px){.goon-hero{display:block}.goon-note{width:100%;margin-top:1rem}.goon-top-grid{grid-template-columns:1fr}.goon-bottom-grid{grid-template-columns:1fr}.goon-rate-modes{grid-template-columns:1fr}.goon-report-row{grid-template-columns:1fr 1fr}.goon-report-row time{text-align:left}}
@media(max-width:520px){.goon-page{padding:1.25rem .625rem}.goon-hero h1{font-size:1.55rem}.goon-report-card,.goon-latest,.goon-rates,.goon-members,.goon-maps{padding:.85rem}.goon-section-head{align-items:flex-start;flex-direction:column}.goon-member-grid{grid-template-columns:repeat(3,1fr);gap:.4rem}.goon-member-grid img{height:auto;aspect-ratio:1/1.2}.goon-member-grid strong{font-size:.75rem;padding:.5rem .4rem 0}.goon-member-grid span{display:none}.goon-map-grid{grid-template-columns:1fr 1fr;gap:.45rem}.goon-map-grid img{height:90px}.goon-map-grid a div{padding:.5rem}.goon-report-row{font-size:.72rem;padding:.6rem}.goon-report-row span:nth-of-type(2){display:none}}


.goon-panel{background:rgb(var(--bg-card));border:1px solid rgb(var(--border));border-radius:.8rem;padding:1rem;color:rgb(var(--text))}.goon-notice{align-items:flex-start}.goon-notice h2{font-size:1.05rem;font-weight:700;margin-bottom:.3rem}.goon-notice p,.goon-hint,.goon-field-title,.goon-current,.goon-report-row span,.goon-report-row time,.goon-member-grid span,.goon-map-grid span{color:rgb(var(--text))!important}.goon-environment[hidden]{display:none}.goon-latest-focus{display:none!important}.goon-report-list{margin-top:.85rem}.goon-report-row{grid-template-columns:minmax(70px,.7fr) 65px minmax(90px,1fr) 90px 75px auto;align-items:center;color:rgb(var(--text))}.goon-report-actions{display:flex;justify-content:flex-end}.goon-report-actions button,.goon-report-actions a{padding:.3rem .55rem;border:1px solid rgb(var(--border));border-radius:.4rem;color:rgb(var(--text));font-size:.72rem;background:rgb(var(--bg-card-soft))}.goon-report-actions button:hover,.goon-report-actions a:hover{border-color:rgb(var(--p-500));color:rgb(var(--p-500))}.goon-report-actions button:disabled{opacity:.55;cursor:not-allowed}.goon-submit{border:0}.goon-top-grid+.goon-rates{margin-top:1rem}.goon-rates,.goon-members,.goon-maps{padding:1rem}.goon-rate-mode h3,.goon-rate-row strong{color:rgb(var(--text))}.goon-rate-row>div{background:rgb(var(--border))}
@media(max-width:900px){.goon-report-row{grid-template-columns:1fr 65px 1fr auto}.goon-report-row span:nth-of-type(2){display:none}.goon-report-row time{display:none}.goon-report-actions{grid-column:auto}}
@media(max-width:520px){.goon-panel{padding:.85rem}.goon-report-row{grid-template-columns:1fr 55px 1fr auto;gap:.4rem}.goon-report-row span:nth-of-type(3){display:none}.goon-report-actions button,.goon-report-actions a{padding:.25rem .4rem}}


.goon-hint{text-align:center}.goon-report-head,.goon-report-row{display:grid;grid-template-columns:minmax(70px,.8fr) 70px minmax(90px,1fr) 100px auto;gap:.75rem;align-items:center}.goon-report-head{padding:.65rem .8rem;border-bottom:1px solid rgb(var(--border));background:rgb(var(--bg-card-soft));font-size:.75rem;font-weight:700;color:rgb(var(--text))}.goon-report-row time{text-align:left;color:rgb(var(--text))!important}.goon-member-grid a div{padding:.65rem}.goon-member-grid a div strong,.goon-member-grid a div span{display:block;padding:0}.goon-member-grid a div span{margin-top:.15rem;font-size:.72rem;color:rgb(var(--text))!important}
@media(max-width:900px){.goon-report-head,.goon-report-row{grid-template-columns:1fr 65px 1fr 80px auto}.goon-report-row span:nth-of-type(2),.goon-report-row time{display:block}}
@media(max-width:520px){.goon-report-head{display:none}.goon-report-row{grid-template-columns:1fr 55px 1fr auto}.goon-report-row time{display:none}.goon-member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.goon-member-grid img{height:90px;aspect-ratio:auto;object-fit:cover}.goon-member-grid a div{padding:.5rem}.goon-member-grid a div strong{font-size:.85rem;padding:0}.goon-member-grid a div span{display:block;font-size:.72rem;margin-top:.15rem}}


.goon-current{text-align:center}.goon-current strong{display:inline;margin:0}.goon-confirm-message{text-align:center}.goon-report-head,.goon-report-row{grid-template-columns:minmax(90px,1.1fr) minmax(60px,.65fr) minmax(100px,1fr) minmax(90px,.8fr) 76px}.goon-report-head>*,.goon-report-row>*{min-width:0;text-align:center}.goon-report-row time{text-align:center}.goon-report-actions{justify-content:center}
@media(max-width:900px){.goon-report-head,.goon-report-row{grid-template-columns:minmax(75px,1fr) 55px minmax(80px,1fr) 76px 66px}}
@media(max-width:520px){.goon-report-row{grid-template-columns:minmax(64px,1fr) 48px minmax(64px,1fr) auto}.goon-member-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.goon-member-grid img{height:auto;aspect-ratio:1/1.15}.goon-member-grid a div{padding:.4rem}.goon-member-grid a div strong{font-size:.72rem;line-height:1.2}.goon-member-grid a div span{display:block;font-size:.62rem;line-height:1.25;margin-top:.2rem;white-space:normal}}


.goon-report-head>*:first-child,.goon-report-row>*:first-child{text-align:left}.goon-action-title{font-size:0}
@media(max-width:520px){.goon-report-head{display:grid;grid-template-columns:minmax(64px,1fr) 48px minmax(64px,1fr) auto;gap:.4rem;padding:.6rem}.goon-report-head .goon-time-title{display:none}.goon-report-head .goon-action-title{display:block;font-size:.72rem;text-align:center}}


.goon-report-head,.goon-report-row{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:.5rem}.goon-report-head>*,.goon-report-row>*{justify-self:stretch}.goon-report-head>*:first-child,.goon-report-row>*:first-child{text-align:left}
@media(max-width:520px){.goon-report-head,.goon-report-row{grid-template-columns:minmax(0,1.1fr) minmax(0,.7fr) minmax(0,.8fr) minmax(0,1.15fr) minmax(0,.65fr);column-gap:.2rem;padding-left:.5rem;padding-right:.5rem;font-size:.68rem}.goon-report-head .goon-time-title{display:block}.goon-report-row time{display:block;white-space:nowrap;font-size:.65rem}.goon-report-head .goon-action-title{font-size:.68rem}.goon-report-actions button,.goon-report-actions a{padding:.25rem .35rem;white-space:nowrap}}


.goon-report-head>*,.goon-report-row>*{text-align:left}.goon-report-row time{text-align:left}.goon-report-head .goon-action-title{display:block;font-size:inherit;text-align:center}.goon-report-actions{text-align:center;justify-content:center}
@media(max-width:520px){.goon-report-head>*,.goon-report-row>*{text-align:left}.goon-report-row time{text-align:left}.goon-report-head .goon-action-title,.goon-report-actions{text-align:center}}


.spawn-page{color:rgb(var(--text))}.spawn-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.spawn-title h1{font-size:1.5rem;font-weight:700}.spawn-title h1 i{margin-right:.6rem;color:rgb(var(--p-500))}.spawn-modes{display:flex;gap:.4rem}.spawn-modes a{padding:.4rem .75rem;border:1px solid rgb(var(--border));border-radius:.5rem;background:rgb(var(--bg-card));font-size:.8rem;font-weight:600}.spawn-modes a.is-active{border-color:rgb(var(--p-500));background:rgb(var(--p-500)/.12);color:rgb(var(--p-500))}.spawn-notice{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:1rem;padding:1rem 1.1rem;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card))}.spawn-notice>i{margin-top:.15rem;color:rgb(var(--p-500))}.spawn-notice h2{font-size:1rem;font-weight:700;margin-bottom:.25rem}.spawn-notice p{font-size:.82rem;line-height:1.65}.spawn-card{border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card));overflow:hidden}.spawn-table-wrap{overflow:auto}.spawn-table{width:100%;min-width:760px;border-collapse:collapse;font-size:.82rem}.spawn-table th,.spawn-table td{padding:.85rem 1rem;border-right:1px solid rgb(var(--border));border-bottom:1px solid rgb(var(--border));text-align:center;white-space:nowrap}.spawn-table tr>*:last-child{border-right:0}.spawn-table tbody tr:last-child>*{border-bottom:0}.spawn-table thead th{background:rgb(var(--bg-card-soft));font-weight:700}.spawn-table thead th:first-child,.spawn-table tbody th{position:sticky;left:0;z-index:2;text-align:left;background:rgb(var(--bg-card-soft));min-width:150px}.spawn-table thead th:first-child{z-index:3}.spawn-table td strong{color:rgb(var(--p-500));font-weight:700}.spawn-empty{padding:4rem 1rem;text-align:center;color:rgb(var(--text-muted))}
@media(max-width:520px){.spawn-page{padding:1.25rem .625rem}.spawn-title{align-items:flex-start;flex-direction:column}.spawn-title h1{font-size:1.35rem}.spawn-table{font-size:.75rem;min-width:680px}.spawn-table th,.spawn-table td{padding:.7rem .75rem}.spawn-table thead th:first-child,.spawn-table tbody th{min-width:120px}}


.spawn-boss-link{display:flex;align-items:center;gap:.65rem;color:rgb(var(--text));font-weight:700}.spawn-boss-link:hover{color:rgb(var(--p-500))}.spawn-boss-link img{width:42px;height:42px;flex:0 0 42px;border-radius:.45rem;object-fit:cover;background:rgb(var(--bg-card))}.spawn-table thead th:first-child,.spawn-table tbody th{min-width:190px}
@media(max-width:520px){.spawn-table thead th:first-child,.spawn-table tbody th{min-width:155px}.spawn-boss-link{gap:.45rem}.spawn-boss-link img{width:34px;height:34px;flex-basis:34px}}


.spawn-table thead .spawn-mode-head{text-align:center!important}.spawn-boss-link img{background:transparent!important;border:0!important;box-shadow:none!important}
.spawn-mobile-rates{display:none}
.spawn-table tbody tr>*{transition:background-color .15s ease}
.spawn-table tbody tr:hover>*{background:rgb(var(--bg-card-soft))}
@media(max-width:700px){
  .spawn-card{overflow:visible;border:0;background:transparent}
  .spawn-desktop-rates{display:none}
  .spawn-mobile-rates{display:grid;gap:.75rem}
  .spawn-mobile-boss{overflow:hidden;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card))}
  .spawn-mobile-boss>.spawn-boss-link{min-height:58px;padding:.65rem .8rem;border-bottom:1px solid rgb(var(--border));background:rgb(var(--bg-card-soft));font-size:.9rem}
  .spawn-mobile-boss>.spawn-boss-link img{width:38px;height:38px;flex-basis:38px}
  .spawn-mobile-map-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
  .spawn-mobile-map-rate{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0;padding:.7rem .8rem;border-top:1px solid rgb(var(--border));font-size:.78rem}
  .spawn-mobile-map-rate:nth-child(odd){border-right:1px solid rgb(var(--border))}
  .spawn-mobile-map-rate:nth-child(-n+2){border-top:0}
  .spawn-mobile-map-rate:last-child:nth-child(odd){grid-column:1/-1;border-right:0}
  .spawn-mobile-map-rate span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgb(var(--text))}
  .spawn-mobile-map-rate strong{flex:none;color:rgb(var(--text));font-weight:700}
  .spawn-mobile-map-rate strong.is-full-rate{color:#dc2626}
}


.goon-notice>i,.spawn-notice>i{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex:0 0 1.25rem;margin:0;line-height:1}.goon-notice h2,.spawn-notice h2{line-height:1.25rem;margin-top:0}


.spawn-history-card{margin-top:1rem;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card));overflow:hidden}.spawn-history-card>h2{display:flex;align-items:center;gap:.55rem;padding:1rem 1.1rem;border-bottom:1px solid rgb(var(--border));font-size:1rem;font-weight:700}.spawn-history-card>h2 i{color:rgb(var(--p-500))}.spawn-history-wrap{overflow-x:auto}.spawn-history-table{width:100%;min-width:760px;table-layout:fixed;border-collapse:collapse;font-size:.82rem}.spawn-history-table th,.spawn-history-table td{width:16.6667%;padding:.8rem 1rem;border-bottom:1px solid rgb(var(--border));text-align:left!important;white-space:nowrap}.spawn-history-table thead th{background:rgb(var(--bg-card-soft));font-weight:700}.spawn-history-table tbody tr:last-child td{border-bottom:0}.spawn-history-type{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;padding:.2rem .5rem;border-radius:.4rem;font-weight:700}.spawn-history-type.is-new{background:rgb(34 197 94/.12);color:rgb(22 163 74)}.spawn-history-type.is-change{background:rgb(var(--p-500)/.12);color:rgb(var(--p-500))}.spawn-history-arrow{color:rgb(var(--text-muted));padding:0 .2rem}.spawn-history-empty{padding:2.5rem 1rem;text-align:center;color:rgb(var(--text-muted))}
.spawn-history-table tbody td{transition:background-color .15s ease}.spawn-history-table tbody tr:hover td{background:rgb(var(--bg-card-soft))}
.spawn-history-change-value{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}
.spawn-history-card .spawn-history-arrow{color:rgb(var(--text))}
@media(max-width:700px){
  .spawn-history-card>h2{padding:.85rem .9rem}
  .spawn-history-wrap{overflow:visible}
  .spawn-history-table{display:block;width:100%;min-width:0;font-size:.78rem}
  .spawn-history-table thead{display:none}
  .spawn-history-table tbody{display:grid;gap:.7rem;padding:.75rem}
  .spawn-history-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'boss boss' 'time mode' 'map type' 'change change';overflow:hidden;border:1px solid rgb(var(--border));border-radius:.7rem;background:rgb(var(--bg-card))}
  .spawn-history-table tbody td{display:flex;width:auto;padding:.65rem .75rem;border:0;border-top:1px solid rgb(var(--border));white-space:normal;align-items:center;justify-content:space-between;gap:.6rem}
  .spawn-history-table tbody td::before{content:attr(data-label);flex:none;color:rgb(var(--text));font-size:.7rem;font-weight:600}
  .spawn-history-table tbody td:nth-child(1){grid-area:time;border-right:1px solid rgb(var(--border))}
  .spawn-history-table tbody td:nth-child(2){grid-area:mode}
  .spawn-history-table tbody td:nth-child(3){grid-area:map;border-right:1px solid rgb(var(--border))}
  .spawn-history-table tbody td:nth-child(4){grid-area:boss;border-top:0;background:rgb(var(--bg-card-soft));font-weight:700}
  .spawn-history-table tbody td:nth-child(5){grid-area:type}
  .spawn-history-table tbody td:nth-child(6){grid-area:change}
  .spawn-history-table tbody tr:hover td{background:inherit}
  .spawn-history-table tbody tr:hover td:nth-child(4){background:rgb(var(--bg-card-soft))}
}


.ranking-page{color:rgb(var(--text))}.ranking-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.ranking-head h1{display:flex;align-items:center;gap:.65rem;font-size:1.5rem;font-weight:700}.ranking-head h1 i,.ranking-tier h2>i{color:rgb(var(--p-500))}.ranking-modes,.ranking-categories{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}.ranking-modes a,.ranking-categories a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.4rem .8rem;border:1px solid rgb(var(--border));border-radius:.55rem;background:rgb(var(--bg-card));font-size:.82rem;font-weight:600}.ranking-modes a.is-active,.ranking-categories a.is-active{border-color:rgb(var(--p-500));background:rgb(var(--p-500)/.1);color:rgb(var(--p-500))}.ranking-categories{margin-top:1.25rem}.ranking-summary{margin:.75rem 0 1.25rem;font-size:.8rem;color:rgb(var(--text-muted))}.ranking-tier-list{display:grid;gap:1rem}.ranking-tier{padding:1rem;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card))}.ranking-tier h2{display:flex;align-items:center;gap:.55rem;margin:0 0 .85rem;padding-bottom:.7rem;border-bottom:2px solid rgb(var(--p-500));font-size:1rem;font-weight:700}.ranking-tier h2 span{margin-left:auto;color:rgb(var(--text-muted));font-size:.75rem;font-weight:600}.ranking-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:.55rem}.ranking-item{position:relative;display:flex;min-width:0;flex-direction:column;gap:.3rem;padding:.45rem;border:1px solid rgb(var(--border));border-radius:.55rem;background:rgb(var(--bg-card-soft));color:rgb(var(--text));transition:transform .15s,border-color .15s,box-shadow .15s}.ranking-item:hover,.ranking-item:focus-visible{z-index:2;transform:translateY(-2px);border-color:rgb(var(--p-500));box-shadow:0 8px 24px rgb(0 0 0/.12);outline:0}.ranking-item-image{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border-radius:.4rem;background:rgb(var(--bg-card));overflow:hidden}.ranking-item-image img{display:block;width:100%;height:100%;object-fit:contain}.ranking-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:700}.ranking-item>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgb(var(--p-500));font-size:.7rem}.ranking-tooltip{position:fixed;z-index:9998;display:grid;width:min(310px,calc(100vw - 20px));gap:.35rem;padding:.8rem .9rem;border:1px solid #303846;border-radius:.55rem;background:#0b0f16;color:#fff;box-shadow:0 16px 45px rgb(0 0 0/.45);font-size:.78rem;line-height:1.45;pointer-events:none}.ranking-tooltip[hidden]{display:none}.ranking-tooltip b{margin-bottom:.15rem;font-size:.86rem}.ranking-tooltip span{display:block}.ranking-tooltip strong{color:#79a8ff}.ranking-tooltip em{display:block;margin-top:.25rem;padding-top:.4rem;border-top:1px solid #303846;font-style:normal;font-weight:700}.ranking-tooltip small{display:block;margin-top:.25rem;color:#aab4c3}.ranking-empty{padding:5rem 1rem;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card));text-align:center;color:rgb(var(--text-muted))}
@media(max-width:640px){.ranking-page{padding:1.25rem .625rem}.ranking-head{align-items:flex-start;flex-direction:column}.ranking-head h1{font-size:1.35rem}.ranking-categories{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:.25rem}.ranking-categories a{flex:0 0 auto}.ranking-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.ranking-tier{padding:.7rem}.ranking-item{padding:.3rem}.ranking-item-name{font-size:.68rem}.ranking-item>strong{font-size:.64rem}}


.ranking-item-image,.ranking-item-image img{border-radius:0!important}
.ranking-tooltip{width:max-content;max-width:min(280px,calc(100vw - 20px))}
.ranking-tooltip span{white-space:nowrap}
html[data-mode="light"] .ranking-tooltip{border-color:#d6dce5;background:#fff;color:#111827;box-shadow:0 16px 40px rgb(15 23 42/.2)}
html[data-mode="light"] .ranking-tooltip em{border-color:#e2e8f0}
html[data-mode="light"] .ranking-tooltip small{color:#64748b}


.ranking-item{background:rgb(var(--bg-card));transition:background-color .15s}
.ranking-item:hover,.ranking-item:focus-visible{z-index:auto;transform:none;border-color:rgb(var(--border));box-shadow:none;background:rgb(var(--bg-card-soft));outline:0}
.ranking-item-image,.ranking-item-image img{border-radius:.4rem!important}
.ranking-item>strong,.ranking-tooltip strong,.ranking-tooltip small{color:inherit!important}
@media(max-width:640px){
  .ranking-head{align-items:center;flex-direction:row;gap:.5rem}
  .ranking-head h1{white-space:nowrap}
  .ranking-modes{flex-wrap:nowrap;margin-left:auto;gap:.3rem}
  .ranking-modes a{min-height:34px;padding:.35rem .6rem}
}
@media(max-width:520px){
  .spawn-title{align-items:center;flex-direction:row;gap:.5rem}
  .spawn-title h1{white-space:nowrap}
  .spawn-modes{flex-wrap:nowrap;margin-left:auto;gap:.3rem}
  .spawn-modes a{padding:.35rem .6rem}
  .goon-latest .goon-section-head{align-items:center;flex-direction:row;gap:.5rem}
  .goon-latest .goon-section-head h2{white-space:nowrap}
  .goon-latest .goon-inline-modes{flex-wrap:nowrap;margin-left:auto;gap:.3rem}
  .goon-latest .goon-inline-modes a{padding:.35rem .55rem}
}


.item-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;align-items:start;gap:0 1.5rem}
.item-hero-info{grid-column:1;grid-row:1}
.item-hero-layout>.flex-shrink-0{grid-column:2;grid-row:1/span 3}
.item-hero-description{grid-column:1;grid-row:2;margin-top:.35rem}
.item-hero-meta{grid-column:1;grid-row:3;margin-top:.2rem}
.item-image-lightbox{position:fixed!important;inset:0!important;z-index:9999!important;align-items:center!important;justify-content:center!important;width:100vw!important;height:100dvh!important;margin:0!important}
.item-image-lightbox[aria-hidden="true"]{display:none!important}
.item-image-lightbox[aria-hidden="false"]{display:flex!important}
@media(max-width:640px){
  .item-hero-layout{grid-template-columns:minmax(0,1fr) auto;gap:0 1rem}
  .item-hero-info{align-self:center}
  .item-hero-description{grid-column:1/-1;grid-row:2;margin-top:1rem}
  .item-hero-meta{grid-column:1/-1;grid-row:3;margin-top:.15rem}
  .item-hero-layout>.flex-shrink-0{grid-row:1}
}

.resale-summary,.price-summary,.ranking-summary{color:rgb(var(--text))}
.resale-table{min-width:1000px}
.resale-table .resale-item-col,.resale-table td:first-child{width:40%}
.resale-table th:nth-child(2),.resale-table td:nth-child(2){width:11%}
.resale-table th:nth-child(3),.resale-table td:nth-child(3){width:7%}
.resale-table th:nth-child(4),.resale-table td:nth-child(4){width:13%}
.resale-table th:nth-child(5),.resale-table td:nth-child(5){width:11%}
.resale-table th:nth-child(6),.resale-table td:nth-child(6){width:12%}
.resale-table th:nth-child(7),.resale-table td:nth-child(7){width:6%}
.resale-item-cell{display:flex;align-items:center;gap:.75rem;min-width:0}
.resale-item-info{display:flex;min-width:0;flex:1;flex-direction:column;gap:.2rem;white-space:normal}
.resale-item-name{color:rgb(var(--text));font-size:.86rem;font-weight:700;line-height:1.35;white-space:normal}
.resale-item-name:hover,.resale-task-link:hover{color:rgb(var(--p-500))}
.resale-item-info small{color:rgb(var(--text));font-size:.72rem;line-height:1.35;white-space:normal}
.resale-task-link{color:rgb(var(--p-600));font-weight:600}
.price-table{min-width:1050px}
.price-table .price-item-col,.price-table td:first-child{width:36%}
.price-table th:nth-child(2),.price-table td:nth-child(2),.price-table th:nth-child(3),.price-table td:nth-child(3){width:11%}
.price-table th:nth-child(4),.price-table td:nth-child(4),.price-table th:nth-child(7),.price-table td:nth-child(7){width:8%}
.price-table th:nth-child(5),.price-table td:nth-child(5){width:14%}
.price-table th:nth-child(6),.price-table td:nth-child(6){width:12%}
.price-item-link>span:last-child{white-space:normal}
.price-item-link b{color:rgb(var(--text));line-height:1.35;white-space:normal}
.price-item-link small{color:rgb(var(--text));line-height:1.35;white-space:normal}
@media(max-width:640px){.resale-table{min-width:900px}.resale-table .resale-item-col,.resale-table td:first-child{width:40%}.price-table{min-width:930px}.price-table .price-item-col,.price-table td:first-child{width:36%}}


@media(max-width:640px){
  .price-table-wrap,.resale-table-wrap{overflow:visible;border:0;border-radius:0;background:transparent}
  .price-table,.resale-table{display:block;width:100%;min-width:0!important;table-layout:auto;background:transparent}
  .price-table thead,.resale-table thead{display:none}
  .price-table tbody,.resale-table tbody{display:grid;gap:.75rem;width:100%}
  .price-table tbody tr,.resale-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card))}
  .price-table tbody tr:hover,.resale-table tbody tr:hover{background:rgb(var(--bg-card))}
  .price-table td,.resale-table td{display:grid;width:auto!important;min-width:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.65rem .75rem;border-right:0;border-bottom:1px solid rgb(var(--border));text-align:right;white-space:normal}
  .price-table td:nth-child(odd):not(:first-child),.resale-table td:nth-child(odd):not(:first-child){border-left:1px solid rgb(var(--border))}
  .price-table td::before,.resale-table td::before{font-size:.72rem;font-weight:600;color:rgb(var(--text));text-align:left;white-space:nowrap}
  .price-table td:first-child,.resale-table td:first-child{display:block;grid-column:1/-1;padding:.75rem;border-left:0;text-align:left}
  .price-table td:first-child::before,.resale-table td:first-child::before{display:none}
  .price-table td:last-child,.resale-table td:last-child{border-bottom:0}
  .price-table td:nth-last-child(2):nth-child(even),.resale-table td:nth-last-child(2):nth-child(even){border-bottom:0}
  .price-table td:nth-child(2)::before{content:'基准价格'}
  .price-table td:nth-child(3)::before{content:'跳蚤售价'}
  .price-table td:nth-child(4)::before{content:'报价数量'}
  .price-table td:nth-child(5)::before{content:'最高商人收购'}
  .price-table td:nth-child(6)::before{content:'跳蚤与商人差价'}
  .price-table td:nth-child(7)::before{content:'更新时间'}
  .resale-table td:nth-child(2)::before{content:'商人'}
  .resale-table td:nth-child(3)::before{content:'等级'}
  .resale-table td:nth-child(4)::before{content:'成本'}
  .resale-table td:nth-child(5)::before{content:'跳蚤售价'}
  .resale-table td:nth-child(6)::before{content:'单件利润'}
  .resale-table td:nth-child(7)::before{content:'数量'}
  .price-item-link,.resale-item-cell{gap:.75rem}
  .price-item-link>span:last-child,.resale-item-info{flex:1}
  .price-trader-name,.price-trader-value{grid-column:2;text-align:right}
  .price-trader-value{margin-top:0}
  .price-load-sentinel,.resale-load-sentinel{padding:1rem .5rem}
}

.trader-item-card:hover,.trader-item-card:focus-within{background:rgb(var(--bg-card-soft));border-color:rgb(var(--border));outline:0}


.exchange-table{min-width:900px;table-layout:fixed}
.exchange-table th:nth-child(1){width:34%}
.exchange-table th:nth-child(2){width:42%}
.exchange-table th:nth-child(3),.exchange-table th:nth-child(4){width:12%;text-align:right}
.exchange-table td{vertical-align:top}
.exchange-reward{align-items:flex-start}
.exchange-reward img{width:64px;height:64px;flex:0 0 64px;border-radius:0;background:transparent;object-fit:contain}
.exchange-reward span,.exchange-material span{display:flex;min-width:0;flex-direction:column;gap:.15rem}
.exchange-reward b,.exchange-material b,.exchange-reward small,.exchange-material small{color:rgb(var(--text));line-height:1.35;white-space:normal}
.exchange-materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.exchange-material{min-width:0;padding:.2rem 0;border:0;border-radius:0;background:transparent;align-items:flex-start}
.exchange-material:hover,.exchange-material:focus-visible{border-color:transparent;background:transparent;outline:0}
.exchange-material img{width:40px;height:40px;flex:0 0 40px;border-radius:0;background:transparent;object-fit:contain}
.exchange-cost,.exchange-profit{text-align:right!important;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:640px){
 .exchange-table-wrap{overflow:visible;border:0;border-radius:0;background:transparent}
 .exchange-table{display:block;width:100%;min-width:0;table-layout:auto;background:transparent}
 .exchange-table thead{display:none}
 .exchange-table tbody{display:grid;gap:.75rem}
 .exchange-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card))}
 .exchange-table td{display:block!important;width:auto!important;padding:.7rem;border-right:0!important;border-bottom:1px solid rgb(var(--border));border-left:0!important;text-align:left!important;white-space:normal}
 .exchange-table td:nth-child(1),.exchange-table td:nth-child(2){grid-column:1/-1}
 .exchange-table td:nth-child(3),.exchange-table td:nth-child(4){border-bottom:0;text-align:right!important}
 .exchange-table td:nth-child(4){border-left:1px solid rgb(var(--border))!important}
 .exchange-table td::before{display:block;margin-bottom:.45rem;color:rgb(var(--text));font-size:.72rem;font-weight:700;text-align:left}
 .exchange-table td:nth-child(1)::before{content:'兑换物品'}
 .exchange-table td:nth-child(2)::before{content:'所需材料'}
 .exchange-table td:nth-child(3)::before{content:'材料成本'}
 .exchange-table td:nth-child(4)::before{content:'利润'}
 .exchange-materials{grid-template-columns:1fr}
}


.exchange-table{min-width:1180px;table-layout:fixed}
.exchange-table th:nth-child(1){width:27%}
.exchange-table th:nth-child(2){width:35%}
.exchange-table th:nth-child(3){width:9%;text-align:center}
.exchange-table th:nth-child(4){width:6%;text-align:center}
.exchange-table th:nth-child(5),.exchange-table th:nth-child(6){width:9%;text-align:right}
.exchange-table th:nth-child(7){width:5%;text-align:center}
.exchange-table td{vertical-align:middle}
.exchange-table td:nth-child(3),.exchange-table td:nth-child(4),.exchange-table td:nth-child(7){text-align:center}
.exchange-reward{align-items:center}
.exchange-reward img{width:56px;height:56px;flex:0 0 56px;border-radius:.4rem;background:rgb(var(--bg-card-soft))}
.exchange-materials{display:grid;grid-template-columns:1fr;gap:.25rem}
.exchange-material{padding:.15rem 0}
.exchange-material img{width:38px;height:38px;flex:0 0 38px}
@media(max-width:640px){
 .exchange-table{min-width:0}
 .exchange-table tr{grid-template-columns:repeat(2,minmax(0,1fr))}
 .exchange-table td:nth-child(1),.exchange-table td:nth-child(2){grid-column:1/-1;text-align:left!important}
 .exchange-table td:nth-child(3),.exchange-table td:nth-child(4),.exchange-table td:nth-child(5),.exchange-table td:nth-child(6),.exchange-table td:nth-child(7){display:block!important;grid-column:auto;border-bottom:1px solid rgb(var(--border));text-align:right!important}
 .exchange-table td:nth-child(4),.exchange-table td:nth-child(6){border-left:1px solid rgb(var(--border))!important}
 .exchange-table td:nth-child(7){grid-column:1/-1;border-bottom:0;text-align:right!important}
 .exchange-table td:nth-child(1)::before{content:'交换物品'}
 .exchange-table td:nth-child(2)::before{content:'所需材料'}
 .exchange-table td:nth-child(3)::before{content:'商人'}
 .exchange-table td:nth-child(4)::before{content:'等级'}
 .exchange-table td:nth-child(5)::before{content:'材料成本'}
 .exchange-table td:nth-child(6)::before{content:'利润'}
 .exchange-table td:nth-child(7)::before{content:'数量'}
}


.exchange-table{min-width:1220px!important}
.exchange-table th:nth-child(1){width:25%!important}
.exchange-table th:nth-child(2){width:31%!important}
.exchange-table th:nth-child(3){width:8%!important}
.exchange-table th:nth-child(4){width:6%!important}
.exchange-table th:nth-child(5){width:5%!important}
.exchange-table th:nth-child(6){width:8%!important}
.exchange-table th:nth-child(7){width:9%!important}
.exchange-table th:nth-child(8){width:8%!important}
.exchange-table th:nth-child(n+3),.exchange-table td:nth-child(n+3){text-align:center!important}
.exchange-cost,.exchange-flea,.exchange-profit{font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:640px){
 .exchange-table{min-width:0!important}
 .exchange-table td:nth-child(1),.exchange-table td:nth-child(2){display:block!important;grid-column:1/-1!important;text-align:left!important}
 .exchange-table td:nth-child(n+3){display:flex!important;grid-column:auto!important;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid rgb(var(--border))!important;text-align:right!important}
 .exchange-table td:nth-child(4),.exchange-table td:nth-child(6),.exchange-table td:nth-child(8){border-left:1px solid rgb(var(--border))!important}
 .exchange-table td:nth-child(7),.exchange-table td:nth-child(8){border-bottom:0!important}
 .exchange-table td:nth-child(n+3)::before{display:inline!important;margin:0!important;flex:0 0 auto}
 .exchange-table td:nth-child(3)::before{content:'商人'}
 .exchange-table td:nth-child(4)::before{content:'等级'}
 .exchange-table td:nth-child(5)::before{content:'数量'}
 .exchange-table td:nth-child(6)::before{content:'材料成本'}
 .exchange-table td:nth-child(7)::before{content:'跳蚤售价'}
 .exchange-table td:nth-child(8)::before{content:'利润'}
}

.fabrication-page{max-width:1600px}.fabrication-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.fabrication-head h1{display:flex;align-items:center;gap:12px;margin:0;font-size:28px}.fabrication-head h1 i{color:rgb(var(--p-500))}.fabrication-head nav,.fabrication-levels{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fabrication-head nav a,.fabrication-levels a{padding:9px 16px;border:1px solid rgb(var(--border));border-radius:9px;color:rgb(var(--text));background:rgb(var(--bg-card))}.fabrication-head nav a.is-active,.fabrication-levels a.is-active{border-color:rgb(var(--p-500));color:rgb(var(--p-500));background:rgb(var(--p-500)/.08)}
.fabrication-filters{margin-bottom:15px}.fabrication-search{padding:16px;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--bg-card))}.fabrication-search input{width:100%;height:44px;padding:0 14px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--bg-card-soft));color:rgb(var(--text));font:inherit}.fabrication-filter-row{display:flex;align-items:flex-end;gap:18px;margin-top:14px}.fabrication-filter-row>label{display:flex;flex-direction:column;gap:8px;min-width:290px}.fabrication-filter-row select{height:42px;padding:0 14px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--bg-card));color:rgb(var(--text));font:inherit}.fabrication-levels{align-items:flex-end}.fabrication-levels>span{width:100%;font-weight:600}.fabrication-summary{margin:12px 0;color:rgb(var(--text))}
.fabrication-table-wrap{overflow:hidden;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--bg-card))}.fabrication-table{width:100%;border-collapse:collapse;table-layout:fixed}.fabrication-table th,.fabrication-table td{padding:12px;border-right:1px solid rgb(var(--border));border-bottom:1px solid rgb(var(--border));vertical-align:middle;color:rgb(var(--text))}.fabrication-table th:last-child,.fabrication-table td:last-child{border-right:0}.fabrication-table tbody tr:last-child td{border-bottom:0}.fabrication-table th{background:rgb(var(--bg-card-soft));font-weight:600;text-align:center}.fabrication-table th:nth-child(1),.fabrication-table td:nth-child(1){width:25%;text-align:left}.fabrication-table th:nth-child(2),.fabrication-table td:nth-child(2){width:28%;text-align:left}.fabrication-table th:nth-child(3){width:9%}.fabrication-table th:nth-child(4){width:6%}.fabrication-table th:nth-child(5){width:8%}.fabrication-table th:nth-child(6){width:8%}.fabrication-table th:nth-child(7){width:8%}.fabrication-table th:nth-child(8){width:8%}.fabrication-table td:nth-child(n+3){text-align:center}
.fabrication-reward,.fabrication-material{display:flex;align-items:center;gap:12px;color:rgb(var(--text))}.fabrication-reward img,.fabrication-material img{width:58px;height:58px;object-fit:contain;border-radius:8px;background:rgb(var(--bg-card-soft));border:1px solid transparent}.fabrication-reward span,.fabrication-material span{min-width:0;display:flex;flex-direction:column;gap:5px}.fabrication-reward b,.fabrication-material b{display:block;color:rgb(var(--text));line-height:1.35}.fabrication-reward small,.fabrication-material small{color:rgb(var(--text));line-height:1.35}.fabrication-materials{display:flex;flex-direction:column;gap:10px}.fabrication-material{padding:6px;border:1px solid rgb(var(--border));border-radius:9px;background:rgb(var(--bg-card))}.fabrication-material img{width:48px;height:48px}.fabrication-material.is-tool img{border:1px solid rgb(var(--p-500))}.fabrication-material.is-tool small{color:rgb(var(--p-500));font-weight:400}.fabrication-task-link{color:rgb(var(--p-500));white-space:normal}.fabrication-profit{color:#07843f!important;font-weight:600}.fabrication-profit.is-negative{color:#d63838!important}.fabrication-empty{display:flex;align-items:center;justify-content:center;min-height:190px;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--bg-card));color:rgb(var(--text))}.fabrication-sentinel{text-align:center;padding:14px;color:rgb(var(--text))}
@media(max-width:640px){.fabrication-page{padding-left:12px!important;padding-right:12px!important}.fabrication-head{align-items:center}.fabrication-head h1{font-size:22px}.fabrication-head nav{flex-wrap:nowrap}.fabrication-head nav a{padding:8px 12px}.fabrication-filter-row{align-items:stretch;flex-direction:column}.fabrication-filter-row>label{min-width:0}.fabrication-table-wrap{border:0;background:transparent;overflow:visible}.fabrication-table,.fabrication-table tbody{display:block}.fabrication-table thead{display:none}.fabrication-table tr{display:grid;grid-template-columns:1fr 1fr;margin-bottom:12px;border:1px solid rgb(var(--border));border-radius:12px;overflow:hidden;background:rgb(var(--bg-card))}.fabrication-table td{display:flex;flex-direction:column;align-items:stretch!important;gap:7px;width:auto!important;min-width:0;padding:12px;text-align:left!important;border-right:1px solid rgb(var(--border));border-bottom:1px solid rgb(var(--border))}.fabrication-table td:nth-child(even){border-right:0}.fabrication-table td:nth-child(1),.fabrication-table td:nth-child(2){grid-column:1/-1;border-right:0}.fabrication-table td:nth-child(8){border-bottom:0}.fabrication-table td:before{display:block;font-weight:600;color:rgb(var(--text))}.fabrication-table td:nth-child(1):before{content:'制作物品'}.fabrication-table td:nth-child(2):before{content:'所需材料'}.fabrication-table td:nth-child(3):before{content:'设施'}.fabrication-table td:nth-child(4):before{content:'等级'}.fabrication-table td:nth-child(5):before{content:'时间'}.fabrication-table td:nth-child(6):before{content:'材料成本'}.fabrication-table td:nth-child(7):before{content:'跳蚤售价'}.fabrication-table td:nth-child(8):before{content:'利润'}.fabrication-reward img{width:64px;height:64px}}


.fabrication-page{width:100%;max-width:1500px;color:rgb(var(--text));font-size:.82rem}
.fabrication-head{margin-bottom:1.25rem}.fabrication-head h1{font-size:1.5rem;gap:.65rem}.fabrication-head nav a,.fabrication-levels a{min-height:36px;padding:.4rem .8rem;border-radius:.55rem;font-size:.82rem}
.fabrication-search{padding:1rem}.fabrication-search input{height:42px;font-size:.82rem}.fabrication-filter-row{gap:1rem}.fabrication-filter-row>label{min-width:250px;gap:.4rem}.fabrication-filter-row select{height:38px;font-size:.82rem}
.fabrication-table{font-size:.8rem}.fabrication-table th,.fabrication-table td{padding:.65rem .7rem}.fabrication-reward,.fabrication-material{gap:.65rem}.fabrication-reward img{width:52px;height:52px}.fabrication-material img{width:42px;height:42px}.fabrication-materials{gap:.4rem}.fabrication-material{padding:.35rem}
@media(max-width:640px){.fabrication-page{font-size:.8rem}.fabrication-head h1{font-size:1.3rem}.fabrication-head nav a{padding:.35rem .6rem}.fabrication-table td{padding:.7rem}.fabrication-reward img{width:56px;height:56px}}


.fabrication-filters{display:block!important;margin:1.5rem 0 1rem!important;padding:0!important;border:0!important;background:transparent!important}
.fabrication-search{display:block!important;width:100%;height:auto!important;padding:1rem!important;border:1px solid rgb(var(--border))!important;border-radius:.75rem!important;background:rgb(var(--bg-card))!important}
.fabrication-search input{display:block;width:100%;height:40px!important;padding:0 .8rem!important;border:1px solid rgb(var(--border))!important;border-radius:.4rem!important;background:rgb(var(--bg))!important;color:rgb(var(--text));font-size:.875rem!important;outline:none}
.fabrication-search input:focus{border-color:rgb(var(--p-500))!important;box-shadow:0 0 0 2px rgb(var(--p-500)/.1)}
.fabrication-filter-row{display:flex;align-items:flex-end;justify-content:flex-start;gap:1rem;margin-top:1rem}
.fabrication-filter-row>label{display:grid;width:260px;min-width:0!important;gap:.4rem}
.fabrication-filter-row>label>span,.fabrication-levels>span{font-size:.78rem;font-weight:700}
.fabrication-filter-row select{width:100%;height:40px!important;padding:0 .75rem!important;border:1px solid rgb(var(--border))!important;border-radius:.5rem!important;background:rgb(var(--bg))!important;color:rgb(var(--text));font-size:.875rem!important}
.fabrication-filter-row .fabrication-levels{align-self:flex-end}
.fabrication-table th:nth-child(1),.fabrication-table th:nth-child(2){text-align:center!important}
.fabrication-table tbody tr{transition:background-color .15s ease}
.fabrication-table tbody tr:hover{background:rgb(var(--bg-card-soft))}
.fabrication-materials{gap:.25rem!important}
.fabrication-material{padding:.15rem 0!important;border:0!important;border-radius:0!important;background:transparent!important;align-items:flex-start}
.fabrication-material:hover,.fabrication-material:focus-visible{border-color:transparent!important;background:transparent!important;outline:0}
.fabrication-material img{width:40px!important;height:40px!important;flex:0 0 40px;border-radius:.4rem;background:rgb(var(--bg-card-soft));object-fit:contain}
.fabrication-material.is-tool img{border:1px solid rgb(var(--p-500))!important}
@media(max-width:760px){.fabrication-search{padding:.75rem!important}.fabrication-filter-row{display:grid;grid-template-columns:1fr;gap:.75rem}.fabrication-filter-row>label{width:100%}.fabrication-filter-row .fabrication-levels{width:100%;overflow-x:auto}.fabrication-materials{grid-template-columns:1fr}}


.ranking-categories,
.price-categories,
.exchange-filter-row,
.fabrication-filter-row{
  padding:1rem!important;
  border:1px solid rgb(var(--border))!important;
  border-radius:.75rem!important;
  background:rgb(var(--bg-card))!important;
}
.ranking-categories{margin-top:1.25rem!important}
.price-categories{margin-top:0!important}
.exchange-filter-row,.fabrication-filter-row{margin-top:1rem!important}
@media(max-width:760px){
  .ranking-categories,
  .price-categories,
  .exchange-filter-row,
  .fabrication-filter-row{padding:.75rem!important}
  .ranking-categories,.price-categories{flex-wrap:nowrap;overflow-x:auto}
}


.fabrication-filter-row select{font-size:1rem!important}
.item-recipe-table-wrap{overflow-x:auto;border:1px solid rgb(var(--border));border-radius:.75rem}.item-recipe-table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0;color:rgb(var(--text));font-size:.78rem}.item-recipe-table th{height:42px;padding:.65rem .75rem;border-right:1px solid rgb(var(--border));border-bottom:1px solid rgb(var(--border));background:rgb(var(--bg-card-soft));color:rgb(var(--text));font-weight:600;text-align:center;white-space:nowrap}.item-recipe-table th:last-child,.item-recipe-table td:last-child{border-right:0}.item-recipe-table td{padding:.75rem;border-right:1px solid rgb(var(--border));border-bottom:1px solid rgb(var(--border));vertical-align:middle;background:rgb(var(--bg-card));color:rgb(var(--text))}.item-recipe-table tbody tr:last-child td{border-bottom:0}.item-recipe-table tbody tr:hover td{background:rgb(var(--bg-card-soft))}.item-recipe-table .item-recipe-main{width:25%;min-width:260px}.item-recipe-table .item-recipe-materials-col{width:31%;min-width:320px}.item-recipe-table .item-recipe-center{text-align:center;white-space:nowrap}.item-recipe-table .item-recipe-number{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.item-recipe-table td:first-child img{width:56px!important;height:56px!important;border-radius:.45rem;background:rgb(var(--bg-card-soft))!important}.item-recipe-table td:nth-child(2) img{width:40px!important;height:40px!important;border-radius:.4rem;background:rgb(var(--bg-card-soft))}.item-recipe-table a{color:rgb(var(--text))}.item-recipe-table a:hover{color:rgb(var(--p-500))}.item-recipe-table .item-recipe-task-link,.item-recipe-table .item-recipe-tool-label{color:rgb(var(--p-500))!important}.item-recipe-tool-label{margin-top:.1rem;font-size:.68rem;font-weight:400}.item-recipe-table td:nth-child(2) .item-recipe-tool-image{border:1px solid rgb(var(--p-500))!important}.item-recipe-table td.item-recipe-profit.is-positive{color:#15803d!important;font-weight:600}.item-recipe-table td.item-recipe-profit.is-negative{color:#ef4444!important;font-weight:600}html[data-mode="dark"] .item-recipe-table td.item-recipe-profit.is-positive{color:#4ade80!important}html[data-mode="dark"] .item-recipe-table td.item-recipe-profit.is-negative{color:#f87171!important}.item-recipe-mobile-legacy{display:none!important}@media(max-width:760px){.item-recipe-table-wrap{overflow:visible;border:0;border-radius:0;background:transparent}.item-recipe-table{display:block;width:100%;min-width:0;background:transparent}.item-recipe-table thead{display:none}.item-recipe-table tbody{display:grid;gap:.75rem}.item-recipe-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card))}.item-recipe-table td{display:flex!important;align-items:center;justify-content:space-between;gap:.75rem;width:auto!important;padding:.7rem .75rem;border-right:0!important;border-bottom:1px solid rgb(var(--border));background:transparent!important;text-align:right!important;white-space:normal!important}.item-recipe-table td:nth-child(1),.item-recipe-table td:nth-child(2){display:block!important;grid-column:1/-1;text-align:left!important}.item-recipe-table td:nth-child(even):not(:nth-child(2)){border-left:1px solid rgb(var(--border))}.item-recipe-table td:nth-child(7),.item-recipe-table td:nth-child(8){border-bottom:0}.item-recipe-table td::before{display:inline;flex:0 0 auto;color:rgb(var(--text));font-size:.72rem;font-weight:700;text-align:left}.item-recipe-table td:nth-child(1)::before,.item-recipe-table td:nth-child(2)::before{display:block;margin-bottom:.45rem}.item-recipe-table.is-barter td:nth-child(1)::before{content:'交换物品'}.item-recipe-table.is-barter td:nth-child(2)::before{content:'所需材料'}.item-recipe-table.is-barter td:nth-child(3)::before{content:'商人'}.item-recipe-table.is-barter td:nth-child(4)::before{content:'等级'}.item-recipe-table.is-barter td:nth-child(5)::before{content:'数量'}.item-recipe-table.is-barter td:nth-child(6)::before{content:'材料成本'}.item-recipe-table.is-barter td:nth-child(7)::before{content:'跳蚤售价'}.item-recipe-table.is-barter td:nth-child(8)::before{content:'利润'}.item-recipe-table.is-craft td:nth-child(1)::before{content:'制作物品'}.item-recipe-table.is-craft td:nth-child(2)::before{content:'所需材料'}.item-recipe-table.is-craft td:nth-child(3)::before{content:'设施'}.item-recipe-table.is-craft td:nth-child(4)::before{content:'等级'}.item-recipe-table.is-craft td:nth-child(5)::before{content:'时间'}.item-recipe-table.is-craft td:nth-child(6)::before{content:'材料成本'}.item-recipe-table.is-craft td:nth-child(7)::before{content:'跳蚤售价'}.item-recipe-table.is-craft td:nth-child(8)::before{content:'利润'}.item-recipe-table td:first-child img{width:48px!important;height:48px!important}.item-recipe-table td:nth-child(2) img{width:38px!important;height:38px!important}}
@media(max-width:760px){.exchange-table td:nth-child(7)::before,.fabrication-table td:nth-child(7)::before,.item-recipe-table.is-barter td:nth-child(7)::before,.item-recipe-table.is-craft td:nth-child(7)::before{content:'出售价格'}}
@media(max-width:760px){.item-recipe-table td:nth-child(1)::before,.item-recipe-table td:nth-child(2)::before{padding-bottom:.5rem;border-bottom:1px solid rgb(var(--border));margin-bottom:.65rem}}


.ceremony-threshold-note{padding:10px 17px;border-top:1px solid rgb(var(--border));color:rgb(var(--text));text-align:center}

.homepage{display:grid;gap:22px}.home-panel,.home-features a,.home-task-grid a,.home-news a{background:rgb(var(--card));border:1px solid rgb(var(--border));border-radius:14px}.home-panel{padding:20px}.home-panel h2,.home-section>h2,.section-title h2,.panel-title h2{font-size:18px;font-weight:700;display:flex;align-items:center;gap:9px;color:rgb(var(--text))}.home-panel h2 i,.home-section h2 i,.section-title h2 i{color:rgb(var(--primary))}.home-announcements{display:grid;grid-template-columns:170px 1fr;align-items:start}.home-announcements>div{display:grid;gap:8px}.home-announcements p,.home-announcements a{margin:0;color:rgb(var(--text));line-height:1.7}.home-announcements a{display:flex;justify-content:space-between;gap:12px}.home-features{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:14px}.home-features a{padding:18px;display:flex;align-items:center;gap:13px;color:rgb(var(--text));transition:.18s}.home-features a:hover,.home-task-grid a:hover,.home-news a:hover{background:rgb(var(--hover));transform:translateY(-1px)}.home-features>a>i:first-child{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:rgb(var(--primary)/.1);color:rgb(var(--primary));font-size:18px}.home-features span{display:grid;gap:3px;flex:1}.home-features small,.updated,.home-task-grid small,.home-news small{color:rgb(var(--muted))}.home-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:18px}.status-list,.restock-list{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.status-list>div,.restock-list>div{min-height:44px;display:flex;align-items:center;gap:9px;border-bottom:1px solid rgb(var(--border))}.status-list em,.restock-list time{font-style:normal;margin-left:auto}.status-dot{width:9px;height:9px;border-radius:50%;background:#22c55e}.status-dot.warning{background:#f59e0b}.status-dot.danger{background:#ef4444}.updated{display:block;margin-top:12px}.panel-title,.section-title{display:flex;align-items:center;justify-content:space-between}.panel-title>span{font-size:13px;border:1px solid rgb(var(--primary));color:rgb(var(--primary));border-radius:8px;padding:4px 9px}.home-task-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.home-task-grid a{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:rgb(var(--text))}.home-task-grid a>div{display:grid;gap:5px}.task-type{font-size:12px;color:#3b82f6}.task-type.event{color:#f97316}.event-countdown{font-size:13px;white-space:nowrap}.section-title>a{color:rgb(var(--primary));font-size:14px;display:flex;gap:7px;align-items:center}.home-news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.home-news a{overflow:hidden;color:rgb(var(--text));display:flex;min-height:110px}.home-news img{width:130px;object-fit:cover}.home-news a>div{padding:14px;display:grid;align-content:center;gap:7px;min-width:0}.home-news p{color:rgb(var(--muted));font-size:13px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.home-empty{padding:18px;color:rgb(var(--muted))}
@media(max-width:1180px) and (min-width:768px){.home-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.homepage{padding-top:20px;gap:16px}.home-announcements{grid-template-columns:1fr;gap:12px}.home-features{grid-template-columns:1fr 1fr}.home-features a{padding:14px}.home-features small{display:none}.home-dashboard{grid-template-columns:1fr}.status-list,.restock-list{grid-template-columns:1fr}.home-task-grid,.home-news{grid-template-columns:1fr}.home-news img{width:110px}.home-panel{padding:16px}}


.home-panel,.home-features a,.home-task-grid a,.home-news a{background:rgb(var(--bg-card))}
.home-panel h2 i,.home-section h2 i,.section-title h2 i{color:rgb(var(--p-500))}
.home-features a:hover,.home-task-grid a:hover,.home-news a:hover{background:rgb(var(--bg-card-soft));transform:none}
.home-features>a>i:first-child{background:rgb(var(--p-500)/.1);color:rgb(var(--p-500))}
.home-features>a>i.eft-icon-ammo:first-child{position:relative;transform:none}
.home-features>a>i.eft-icon-ammo:first-child:before{left:17px;top:10px;width:8px;height:20px;border-radius:5px 5px 2px 2px;transform:rotate(45deg);transform-origin:center;background:currentColor}
.home-features>a>i.eft-icon-ammo:first-child:after{left:16px;bottom:8px;width:10px;height:5px;border-radius:1px;transform:rotate(45deg);transform-origin:center;background:currentColor;box-shadow:none}
.home-features small,.updated,.home-task-grid small,.home-news small,.home-news p,.home-empty{color:rgb(var(--text-dim))}
.home-restock-strip{padding:14px 10px}.home-trader-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.home-trader{min-width:0;padding:8px 4px;display:grid;justify-items:center;gap:7px;color:rgb(var(--text));text-align:center;border-radius:10px}.home-trader:hover{background:transparent}.home-trader img{width:64px;height:64px;object-fit:cover;border-radius:8px;background:rgb(var(--bg-card-soft))}.home-trader time{font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:800;line-height:1;white-space:nowrap;color:rgb(var(--text));font-variant-numeric:tabular-nums}.home-lower-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-compact-panel{padding:18px}.home-compact-panel h2{margin:0}.home-news-simple,.home-codes{display:grid;margin-top:13px}.home-news-simple a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgb(var(--border));color:rgb(var(--text))}.home-news-simple a:last-child{border-bottom:0}.home-news-simple b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-news-simple time,.home-code small,.home-code time{font-size:12px;color:rgb(var(--text-dim));white-space:nowrap}.home-code{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid rgb(var(--border))}.home-code:last-child{border-bottom:0}.home-code>div{min-width:0;display:grid;gap:4px}.home-code b{font-family:Arial,"Microsoft YaHei",sans-serif;font-size:16px;font-weight:700;letter-spacing:.02em;color:rgb(var(--text));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-code button{flex:none;border:1px solid rgb(var(--border));background:rgb(var(--bg-card-soft));border-radius:7px;padding:5px 9px;color:rgb(var(--text));font-size:12px}.home-code button:hover{border-color:rgb(var(--p-500));color:rgb(var(--p-500))}.server-overall{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 0 11px;border-bottom:1px dashed rgb(var(--border));font-size:16px}.server-overall.normal,.server-overall.normal b{color:#22c55e}.server-overall.warning,.server-overall.warning b{color:#f59e0b}.server-overall.danger,.server-overall.danger b{color:#ef4444}.server-overall .status-dot{width:15px;height:15px;box-shadow:0 0 10px currentColor}.server-counts{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px dashed rgb(var(--border));font-size:13px}.server-counts>div{display:flex;align-items:center;gap:4px;font-weight:700}.server-counts i{width:9px;height:9px;border-radius:50%;margin-left:3px}.server-counts i.ok{background:#22c55e}.server-counts i.warning{background:#f59e0b}.server-counts i.danger{background:#ef4444}.home-server-list{grid-template-columns:1fr;margin-top:0}.home-server-list>div{min-height:29px;font-size:13px}.home-server-list em{font-size:12px;color:rgb(var(--text));font-weight:400}.home-server-list em.normal{color:#22c55e}.home-server-list em.warning{color:#f59e0b}.home-server-list em.danger{color:#ef4444}.home-server-panel .updated{text-align:center;margin-top:10px}
@media(max-width:900px){.home-lower-grid{grid-template-columns:1fr}.home-trader-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.home-restock-strip{padding:12px}.home-trader{padding:7px}.home-trader img{width:54px;height:54px}}@media(max-width:480px){.home-trader-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.home-trader img{width:48px;height:48px}.home-trader time{font-size:14px}}
.home-trader time{font-family:inherit!important;font-weight:400}.home-news-simple b,.home-code b{font-family:inherit!important;font-size:inherit;font-weight:700;letter-spacing:normal}.home-server-title time{font-size:12px;color:rgb(var(--text-dim));white-space:nowrap}.server-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding:11px 12px;border-radius:9px;background:rgb(var(--bg-card-soft))}.server-summary-state{display:flex;align-items:center;gap:7px}.server-summary-state .status-dot{width:11px;height:11px}.server-summary-state.normal{color:#16a34a}.server-summary-state.warning{color:#d97706}.server-summary-state.danger{color:#dc2626}.server-summary-counts{display:flex;align-items:center;gap:9px;font-size:11px;white-space:nowrap}.server-summary-counts .ok{color:#16a34a}.server-summary-counts .warning{color:#d97706}.server-summary-counts .danger{color:#dc2626}.home-server-list{margin-top:8px}.home-server-list>div{padding:0 2px;border-bottom:1px solid rgb(var(--border))}.home-server-list>div:last-child{border-bottom:0}
.rich-guide-content img{cursor:zoom-in}.guide-lightbox-open{overflow:hidden}.guide-image-lightbox{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:12px;background:rgba(10,13,18,.58);-webkit-backdrop-filter:blur(6px) saturate(.9);backdrop-filter:blur(6px) saturate(.9);cursor:zoom-out}.guide-image-lightbox.is-open{display:flex}.guide-image-lightbox img{display:block;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);width:auto;height:auto;object-fit:contain;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:zoom-out}html[data-mode="light"] .guide-image-lightbox{background:rgba(244,247,250,.68)}
.server-summary{padding:11px 2px;border-radius:0;background:transparent;border-bottom:1px solid rgb(var(--border))}
.panel-title>span{border-color:rgb(var(--p-500));color:rgb(var(--p-500))}
.section-title>a{color:rgb(var(--p-500))}
.eft-icon-ammo{position:relative;width:1em;height:1em;display:inline-block!important;vertical-align:-.125em;transform:rotate(-45deg)}
.eft-icon-ammo:before{content:""!important;position:absolute;left:.31em;top:.08em;width:.38em;height:.76em;border-radius:.2em .2em .08em .08em;background:currentColor}
.eft-icon-ammo:after{content:"";position:absolute;left:.31em;bottom:.02em;width:.38em;height:.17em;border-radius:.04em;background:currentColor;box-shadow:0 -.13em 0 -.04em rgb(var(--bg-card))}

/* v421 - storyline mobile objective navigation: top dock + sticky dropdown */
@media (max-width: 1023px) {
    .storyline-mobile-nav-dock {
        position: sticky;
        top: 56px;
        z-index: 39;
        width: 100%;
        background: rgb(var(--bg-card) / .96);
        border-bottom: 1px solid rgb(var(--border));
        box-shadow: 0 3px 10px rgb(0 0 0 / .10);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }
    #mobileObjectiveNavBtn.storyline-mobile-nav-trigger {
        width: 100%;
        height: 44px;
        padding: 0 14px;
        display: flex;
        align-items: center;
        gap: 10px;
        border: 0;
        background: transparent !important;
        color: rgb(var(--text));
        font-size: 14px;
        font-weight: 650;
        text-align: left;
    }
    .storyline-mobile-nav-trigger-main {
        min-width: 0;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: rgb(var(--text));
    }
    .storyline-mobile-nav-trigger-main i {
        color: rgb(var(--p-500));
        font-size: 14px;
    }
    .storyline-mobile-nav-progress {
        margin-left: auto;
        min-width: 46px;
        height: 24px;
        padding: 0 7px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 999px;
        background: rgb(var(--p-500) / .11);
        color: rgb(var(--p-500));
        font-size: 12px;
        line-height: 1;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
    }
    .storyline-mobile-nav-chevron {
        color: rgb(var(--text-dim));
        font-size: 11px;
        transition: transform .18s ease;
    }
    #mobileObjectiveNavBtn[aria-expanded="true"] .storyline-mobile-nav-chevron {
        transform: rotate(180deg);
    }
    .storyline-mobile-nav-dropdown {
        position: absolute;
        left: 0;
        right: 0;
        top: 100%;
        width: 100%;
        max-height: min(58dvh, 520px);
        overflow: hidden;
        background: rgb(var(--bg-card) / .985);
        border-top: 1px solid rgb(var(--border));
        border-bottom: 1px solid rgb(var(--border));
        box-shadow: 0 14px 28px rgb(0 0 0 / .24);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }
    .storyline-mobile-nav-head {
        min-height: 34px;
        padding: 7px 14px;
        display: flex;
        align-items: center;
        gap: 10px;
        border-bottom: 1px solid rgb(var(--border));
    }
    .storyline-mobile-nav-help {
        min-width: 0;
        flex: 1 1 auto;
        color: rgb(var(--text-dim));
        font-size: 11px;
        line-height: 1.35;
    }
    .storyline-mobile-nav-summary {
        flex: 0 0 auto;
        color: rgb(var(--p-500));
        font-size: 11px;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
    }
    .storyline-mobile-nav-summary b {
        margin: 0 2px;
        color: rgb(var(--text-dim));
        font-weight: 500;
    }
    .storyline-mobile-nav-list {
        max-height: calc(min(58dvh, 520px) - 35px);
        padding: 5px 8px 8px;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
    }
    .storyline-mobile-nav-item {
        min-height: 42px;
        padding: 6px 8px !important;
        display: flex;
        align-items: center;
        gap: 10px;
        border-radius: 8px !important;
        background: transparent !important;
        font-size: 13px !important;
    }
    .storyline-mobile-nav-item .nav-index {
        width: 27px !important;
        height: 27px !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 27px;
        border-radius: 7px !important;
        font-size: 11px !important;
        font-weight: 700;
    }
    .storyline-mobile-nav-item .nav-title {
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: rgb(var(--text)) !important;
        font-weight: 500;
    }
    .storyline-mobile-nav-item .nav-title.is-done {
        color: rgb(var(--text-muted)) !important;
    }
    .storyline-mobile-nav-item:hover,
    .storyline-mobile-nav-item.is-current {
        background: rgb(var(--p-500) / .10) !important;
    }
    html[data-mode="light"] .storyline-mobile-nav-dock,
    html[data-mode="light"] .storyline-mobile-nav-dropdown {
        box-shadow: 0 3px 10px rgb(15 23 42 / .08);
    }
    html[data-mode="light"] .storyline-mobile-nav-dropdown {
        box-shadow: 0 14px 28px rgb(15 23 42 / .14);
    }
}


/* v422 - PC long-table sticky headers (resale / price / exchange / fabrication / item pages) */
.desktop-sticky-table-head{display:none}
@media (min-width:768px){
  .desktop-sticky-table-head{position:fixed;z-index:35;overflow:hidden;pointer-events:none;border-left:1px solid rgb(var(--border));border-right:1px solid rgb(var(--border));border-bottom:1px solid rgb(var(--border));background:rgb(var(--bg-card));box-shadow:0 5px 14px rgb(0 0 0/.08)}
  .desktop-sticky-table-head.is-visible{display:block}
  .desktop-sticky-table-head-table{margin:0!important;border-collapse:collapse!important;table-layout:fixed!important}
  .desktop-sticky-table-head-table tbody{display:none!important}
  .desktop-sticky-table-head-table thead{display:table-header-group!important}
  .desktop-sticky-table-head-table thead tr{display:table-row!important}
  .desktop-sticky-table-head-table thead th{position:static!important;margin:0!important;vertical-align:middle!important;background:rgb(var(--bg-card-soft))!important}
}
@media (max-width:767px){.desktop-sticky-table-head{display:none!important}}

/* v424 - mobile storyline objective nav: full remaining viewport without fixed-position containing-block bug */
@media (max-width: 1023px) {
    .storyline-mobile-nav-dropdown {
        position: absolute;
        left: 0;
        right: 0;
        top: 44px;
        bottom: auto;
        width: 100%;
        height: calc(100dvh - 100px);
        max-height: calc(100dvh - 100px);
        display: flex;
        flex-direction: column;
        overflow: hidden;
        z-index: 40;
    }
    @supports not (height: 100dvh) {
        .storyline-mobile-nav-dropdown {
            height: calc(100vh - 100px);
            max-height: calc(100vh - 100px);
        }
    }
    .storyline-mobile-nav-dropdown.hidden {
        display: none !important;
    }
    .storyline-mobile-nav-head {
        flex: 0 0 auto;
    }
    .storyline-mobile-nav-list {
        flex: 1 1 auto;
        min-height: 0;
        max-height: none;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        padding-bottom: max(12px, env(safe-area-inset-bottom));
    }
}

/* v429 - map right panel: storyline first, consistent type labels, single-line titles */
.map-task .map-task-titleline{display:flex;align-items:center;gap:.35rem;min-width:0;white-space:nowrap}
.map-task .map-task-titleline>.map-content-type{flex:0 0 auto;font-size:.75rem;font-weight:700;line-height:1.2}
.map-task .map-task-titleline>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}


/* v430 - map task/story filter consistency */
.map-panel-right>.map-task[data-task="all"]>span{display:flex;align-items:center;gap:.55rem}
.map-panel-right>.map-task[data-task="all"]>span>i{flex:0 0 auto;width:1rem;text-align:center}


/* v431 - map all-toggle alignment */
.map-panel-right>.map-task.map-task-all{display:flex!important;align-items:center;justify-content:flex-start;gap:.6rem;white-space:nowrap}
.map-panel-right>.map-task.map-task-all>i{display:block;flex:0 0 1rem;width:1rem;text-align:center;line-height:1}
.map-panel-right>.map-task.map-task-all>span{display:block;min-width:0;line-height:1.25}

/* v440 - single-page desktop sticky table header: dark mode readability */
@media (min-width:768px){
  html[data-mode="dark"] .item-rank-table thead th,
  html[data-mode="dark"] .desktop-sticky-table-head-table.item-rank-table thead th{
    color:rgb(var(--text))!important;
  }
}

/* v441: align fabrication profit page header/filter/summary typography with exchange page */
.fabrication-page{font-size:inherit}
.fabrication-head{gap:1rem;margin-bottom:0}
.fabrication-head h1{gap:.65rem;font-size:1.5rem;font-weight:700;white-space:nowrap}
.fabrication-head nav,.fabrication-levels{gap:.45rem}
.fabrication-head nav a,.fabrication-levels a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:.4rem .8rem;border-radius:.55rem;font-size:.82rem;font-weight:600;white-space:nowrap}
.fabrication-head nav a.is-active,.fabrication-levels a.is-active{background:rgb(var(--p-500)/.1)}
.fabrication-filters{margin:1.5rem 0 1rem!important}
.fabrication-search input{height:40px!important;font-size:.875rem!important}
.fabrication-filter-row>label>span,.fabrication-levels>span{font-size:.78rem;font-weight:700}
.fabrication-summary{margin:.85rem 0;font-size:.8rem;color:rgb(var(--text))}
@media(max-width:760px){
  .fabrication-head{gap:.5rem}
  .fabrication-head h1{font-size:1.3rem}
  .fabrication-head nav{margin-left:auto;gap:.3rem}
  .fabrication-head nav a{padding:.35rem .6rem}
  .fabrication-filters{margin-top:1.1rem!important}
}

/* v455: achievement page */

.achievement-page{color:rgb(var(--text))}.achievement-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:0}.achievement-head h1{display:flex;align-items:center;gap:.65rem;font-size:1.5rem;font-weight:700}.achievement-head h1 i{color:rgb(var(--p-500))}.achievement-search{display:block;width:100%;margin:1.5rem 0 1rem;padding:1rem;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card))}.achievement-search input{display:block;width:100%;height:40px;padding:0 .8rem;border:1px solid rgb(var(--border));border-radius:.4rem;background:rgb(var(--bg));color:rgb(var(--text));font-size:.875rem;outline:none}.achievement-search input:focus{border-color:rgb(var(--p-500));box-shadow:0 0 0 2px rgb(var(--p-500)/.1)}.achievement-filters{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;padding:.75rem;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card))}.achievement-filters a{display:inline-flex;align-items:center;gap:.5rem;min-height:36px;padding:.4rem .8rem;border:1px solid rgb(var(--border));border-radius:.55rem;background:rgb(var(--bg));font-size:.82rem;font-weight:650}.achievement-filters a small{min-width:1.25rem;padding:.05rem .35rem;border-radius:999px;background:rgb(var(--bg-card-soft));font-size:.68rem;text-align:center;color:rgb(var(--text-muted))}.achievement-filters a.is-active{border-color:rgb(var(--p-500));background:rgb(var(--p-500)/.1);color:rgb(var(--p-500))}.achievement-filters a.is-active small{background:rgb(var(--p-500)/.14);color:rgb(var(--p-500))}.achievement-table-wrap{overflow:auto;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card))}.achievement-table{width:100%;min-width:1040px;table-layout:fixed;border-collapse:collapse;font-size:.82rem}.achievement-table th,.achievement-table td{padding:.8rem .9rem;border-right:1px solid rgb(var(--border));border-bottom:1px solid rgb(var(--border));vertical-align:middle}.achievement-table tr>*:last-child{border-right:0}.achievement-table tbody tr:last-child td{border-bottom:0}.achievement-table th{background:rgb(var(--bg-card-soft));font-weight:700;text-align:left}.achievement-table th:nth-child(1){width:38%}.achievement-table th:nth-child(2){width:34%}.achievement-table th:nth-child(3){width:9%;text-align:center}.achievement-table th:nth-child(4){width:10%;text-align:center}.achievement-table th:nth-child(5){width:9%;text-align:center}.achievement-table td:nth-child(3),.achievement-table td:nth-child(4),.achievement-table td:nth-child(5){text-align:center}.achievement-table tbody tr:hover{background:rgb(var(--bg-card-soft))}.achievement-name-cell{display:flex;align-items:center;gap:.9rem;min-width:0}.achievement-name-cell img{display:block;width:64px;height:64px;flex:0 0 64px;object-fit:contain;background:transparent;border:0;border-radius:0}.achievement-name-cell>div{display:flex;min-width:0;flex-direction:column;gap:.32rem}.achievement-name-cell strong{font-size:.9rem;line-height:1.35}.achievement-name-cell small{font-family:inherit;font-size:.78rem;line-height:1.55;color:rgb(var(--text-muted));white-space:normal}.achievement-copy{line-height:1.7;color:rgb(var(--text))}.achievement-how{font-weight:550}.achievement-status,.achievement-rarity,.achievement-category{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;min-width:74px;padding:.32rem .55rem;border:1px solid rgb(var(--border));border-radius:999px;background:rgb(var(--bg));font-size:.74rem;font-weight:700}.achievement-status{border-color:rgba(16,185,129,.45);background:rgba(16,185,129,.08);color:#059669}.achievement-status.is-hidden{border-color:rgba(139,92,246,.5);background:rgba(139,92,246,.09);color:#7c3aed}html[data-mode="dark"] .achievement-status{border-color:rgba(52,211,153,.55);background:rgba(16,185,129,.14);color:#6ee7b7}html[data-mode="dark"] .achievement-status.is-hidden{border-color:rgba(167,139,250,.62);background:rgba(139,92,246,.16);color:#c4b5fd}.achievement-rarity.is-common{border-color:rgba(100,116,139,.38);background:rgba(100,116,139,.08);color:#475569}.achievement-rarity.is-rare{border-color:rgba(37,99,235,.52);background:rgba(37,99,235,.09);color:#2563eb}.achievement-rarity.is-legendary{border-color:rgba(245,158,11,.5);color:#d97706;background:rgba(245,158,11,.08)}html[data-mode="dark"] .achievement-rarity.is-common{border-color:rgba(203,213,225,.34);background:rgba(148,163,184,.12);color:#e2e8f0}html[data-mode="dark"] .achievement-rarity.is-rare{border-color:rgba(96,165,250,.62);background:rgba(59,130,246,.16);color:#93c5fd}html[data-mode="dark"] .achievement-rarity.is-legendary{border-color:rgba(251,191,36,.58);background:rgba(245,158,11,.14);color:#fbbf24}.achievement-category.is-limited{border-color:rgba(244,63,94,.45);color:#e11d48;background:rgba(244,63,94,.08)}html[data-mode="dark"] .achievement-category{border-color:rgba(203,213,225,.28);background:rgba(148,163,184,.1);color:#e2e8f0}html[data-mode="dark"] .achievement-category.is-limited{border-color:rgba(251,113,133,.58);background:rgba(244,63,94,.14);color:#fda4af}.achievement-empty{display:grid;place-items:center;gap:.65rem;min-height:280px;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card));color:rgb(var(--text-muted))}.achievement-empty i{font-size:2rem;color:rgb(var(--p-500))}
@media(max-width:760px){.achievement-page{padding:1.25rem .625rem}.achievement-head h1{font-size:1.3rem}.achievement-search{margin-top:1.1rem;padding:.75rem}.achievement-filters{flex-wrap:nowrap;overflow-x:auto;padding:.6rem}.achievement-filters a{flex:0 0 auto}.achievement-table-wrap{overflow:visible;border:0;background:transparent}.achievement-table{display:block;width:100%;min-width:0}.achievement-table thead{display:none}.achievement-table tbody{display:grid;gap:.75rem}.achievement-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card))}.achievement-table tr[hidden]{display:none}.achievement-table td{display:block;width:100%!important;padding:.75rem;border-right:0;border-bottom:1px solid rgb(var(--border));text-align:left!important}.achievement-table td:nth-child(1),.achievement-table td:nth-child(2),.achievement-table td:nth-child(3){grid-column:1/-1}.achievement-table tbody tr:last-child td{border-bottom:1px solid rgb(var(--border))}.achievement-table td:nth-child(4),.achievement-table td:nth-child(5){border-bottom:0}.achievement-table td:nth-child(4){border-right:1px solid rgb(var(--border))}.achievement-table td:nth-child(n+2)::before{display:block;margin-bottom:.35rem;font-size:.7rem;font-weight:700;color:rgb(var(--text-muted))}.achievement-table td:nth-child(2)::before{content:'如何获取'}.achievement-table td:nth-child(3)::before{content:'状态'}.achievement-table td:nth-child(4)::before{content:'稀有度'}.achievement-table td:nth-child(5)::before{content:'类别'}.achievement-table td.achievement-category-cell{text-align:right!important}.achievement-table td.achievement-category-cell::before{text-align:right}.achievement-table td.achievement-category-cell .achievement-category{margin-left:auto}.achievement-name-cell img{width:58px;height:58px;flex-basis:58px}}

/* v460: achievement dark-mode contrast + mobile metadata rows */
html:not([data-mode="light"]) .achievement-rarity.is-common{
  border-color:rgba(226,232,240,.42);
  background:rgba(148,163,184,.16);
  color:#f1f5f9;
}
html:not([data-mode="light"]) .achievement-rarity.is-common i{color:#cbd5e1}
html:not([data-mode="light"]) .achievement-rarity.is-rare{
  border-color:rgba(96,165,250,.68);
  background:rgba(59,130,246,.18);
  color:#bfdbfe;
}
html:not([data-mode="light"]) .achievement-rarity.is-legendary{
  border-color:rgba(251,191,36,.64);
  background:rgba(245,158,11,.16);
  color:#fcd34d;
}
.achievement-category{
  border-color:rgba(100,116,139,.34);
  background:rgba(100,116,139,.07);
  color:#475569;
}
.achievement-category.is-limited{
  border-color:rgba(244,63,94,.45);
  background:rgba(244,63,94,.08);
  color:#e11d48;
}
html:not([data-mode="light"]) .achievement-category{
  border-color:rgba(203,213,225,.34);
  background:rgba(148,163,184,.13);
  color:#f1f5f9;
}
html:not([data-mode="light"]) .achievement-category.is-limited{
  border-color:rgba(251,113,133,.58);
  background:rgba(244,63,94,.14);
  color:#fda4af;
}
html:not([data-mode="light"]) .achievement-status{
  border-color:rgba(52,211,153,.55);
  background:rgba(16,185,129,.14);
  color:#6ee7b7;
}
html:not([data-mode="light"]) .achievement-status.is-hidden{
  border-color:rgba(167,139,250,.62);
  background:rgba(139,92,246,.16);
  color:#c4b5fd;
}
@media(max-width:760px){
  .achievement-table tr{display:block}
  .achievement-table td{display:flex!important;align-items:center;justify-content:space-between;gap:1rem;min-height:58px;grid-column:auto!important;border-right:0!important;border-bottom:1px solid rgb(var(--border))!important}
  .achievement-table td:first-child{display:block!important;min-height:0}
  .achievement-table td:nth-child(2){display:block!important;min-height:72px}
  .achievement-table td:last-child{border-bottom:0!important}
  .achievement-table td:nth-child(n+2)::before{display:inline-block;flex:0 0 auto;margin:0;font-size:.75rem;font-weight:700;color:rgb(var(--text))}
  .achievement-table td:nth-child(2)::before{display:block;margin-bottom:.55rem;color:rgb(var(--text));font-size:.75rem}
  .achievement-table td.achievement-status-cell,
  .achievement-table td.achievement-rarity-cell,
  .achievement-table td.achievement-category-cell{text-align:left!important}
  .achievement-table td.achievement-status-cell .achievement-status,
  .achievement-table td.achievement-rarity-cell .achievement-rarity,
  .achievement-table td.achievement-category-cell .achievement-category{margin-left:auto}
}
/* v462: achievement filter bar uses price-query styles verbatim; only the count badge is custom */
.price-categories .achievement-filter-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  margin-left:.15rem;
  padding:0 .3rem;
  border-radius:999px;
  background:rgb(var(--bg-card-soft));
  color:rgb(var(--text));
  font-size:.68rem;
  font-weight:700;
  line-height:1;
}
.price-categories a.is-active .achievement-filter-count{
  background:rgb(var(--p-500)/.14);
  color:rgb(var(--p-500));
}

/* v463: restore spacing between achievement filters and results table */
.achievement-page .price-categories{margin-bottom:1rem!important}

/* v464: skill index/detail */
.skill-page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem}.skill-page-head h1{display:flex;align-items:center;gap:.65rem;margin:0;font-size:1.5rem;font-weight:700}.skill-page-head h1 i{color:rgb(var(--p-500))}.skill-page-intro{margin-bottom:1.5rem;padding:1.15rem 1.25rem;border-radius:.85rem;line-height:1.8}.skill-page-intro img{max-width:100%;height:auto}.skill-category-section{margin-top:1.65rem}.skill-category-section>h2{margin:0 0 .75rem;font-size:1.05rem;font-weight:700}.skill-list-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.skill-list-card{position:relative;display:flex;align-items:center;gap:.9rem;min-width:0;padding:1rem;border:1px solid rgb(var(--border));border-radius:.8rem;background:rgb(var(--bg-card));transition:border-color .16s ease,transform .16s ease,background .16s ease}.skill-list-card:hover{border-color:rgb(var(--p-500));background:rgb(var(--bg-card-soft));transform:translateY(-1px)}.skill-list-image{display:grid;place-items:center;width:72px;height:72px;flex:0 0 72px}.skill-list-image img{display:block;max-width:72px;max-height:72px;object-fit:contain}.skill-list-copy{min-width:0;padding-right:1.2rem}.skill-list-copy h3{margin:0;font-size:.95rem;font-weight:700}.skill-list-copy p{display:-webkit-box;overflow:hidden;margin:.35rem 0 0;color:rgb(var(--text-muted));font-size:.77rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.skill-list-arrow{position:absolute;right:1rem;color:rgb(var(--text-muted));font-size:.72rem}.skill-list-card:hover .skill-list-arrow{color:rgb(var(--p-500))}.skill-detail-hero{display:flex;align-items:center;gap:1.5rem;padding:1.5rem;border-radius:1rem}.skill-detail-icon{display:grid;place-items:center;width:132px;height:132px;flex:0 0 132px}.skill-detail-icon img{max-width:132px;max-height:132px;object-fit:contain}.skill-detail-heading{min-width:0}.skill-detail-heading h1{margin:.4rem 0 .65rem;font-size:1.85rem;font-weight:750}.skill-detail-heading p{max-width:900px;margin:0;color:rgb(var(--text-muted));font-size:.9rem;line-height:1.8}.skill-category-badge{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .65rem;border:1px solid rgb(var(--p-500)/.38);border-radius:999px;background:rgb(var(--p-500)/.08);color:rgb(var(--p-500));font-size:.74rem;font-weight:700}.skill-detail-section{margin-top:1rem;padding:1.25rem 1.35rem;border-radius:.9rem}.skill-detail-section h2{display:flex;align-items:center;gap:.55rem;margin:0 0 .9rem;font-size:1.05rem;font-weight:700}.skill-detail-section h2 i{color:rgb(var(--p-500))}.skill-detail-lines{display:grid;gap:.55rem}.skill-detail-line{display:flex;align-items:flex-start;gap:.7rem;padding:.72rem .8rem;border:1px solid rgb(var(--border));border-radius:.62rem;background:rgb(var(--bg-card-soft));font-size:.84rem;line-height:1.65}.skill-line-dot{width:7px;height:7px;flex:0 0 7px;margin-top:.58em;border-radius:50%;background:rgb(var(--p-500))}@media(max-width:1100px){.skill-list-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.skill-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.skill-page{padding:1.25rem .625rem}.skill-page-head h1{font-size:1.3rem}.skill-list-grid{grid-template-columns:1fr}.skill-list-card{padding:.85rem}.skill-list-image{width:62px;height:62px;flex-basis:62px}.skill-list-image img{max-width:62px;max-height:62px}.skill-detail-hero{align-items:flex-start;gap:1rem;padding:1rem}.skill-detail-icon{width:88px;height:88px;flex-basis:88px}.skill-detail-icon img{max-width:88px;max-height:88px}.skill-detail-heading h1{font-size:1.35rem}.skill-detail-heading p{font-size:.8rem}.skill-detail-section{padding:1rem}.skill-detail-line{font-size:.8rem}}


/* v466: skill pages use the same search/filter language as achievement/price pages */
.skill-page-intro{margin:1.5rem 0 1rem;padding:1rem 1.1rem;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card));line-height:1.8}
.skill-page-intro h2{display:flex;align-items:center;gap:.55rem;margin:0 0 .75rem;font-size:1rem;font-weight:700;color:rgb(var(--text))}
.skill-page-intro h2 i{color:rgb(var(--p-500))}
.skill-page-intro-content{color:rgb(var(--text));font-size:.875rem}
.skill-page-intro-content>:first-child{margin-top:0}.skill-page-intro-content>:last-child{margin-bottom:0}
.skill-page-intro-empty{color:rgb(var(--text-muted))}
.skill-list-page .achievement-search{margin:1.5rem 0 1rem}
.skill-list-page .price-categories{margin-bottom:1rem!important}
.skill-list-card[hidden],.skill-category-section[hidden]{display:none!important}
.skill-detail-heading{flex:1 1 auto;width:100%}
.skill-detail-heading h1{margin:0 0 .65rem}
.skill-detail-heading p{width:100%;max-width:none;margin:0;color:rgb(var(--text-muted));font-size:.9rem;line-height:1.8;white-space:normal;overflow-wrap:anywhere}
@media(max-width:560px){.skill-page-intro{margin-top:1.1rem;padding:.85rem}.skill-list-page .achievement-search{padding:.75rem}.skill-list-page .price-categories{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem}.skill-list-page .price-categories a{flex:0 0 auto}}

/* v480: manual shared task-item requirements + visible acceptable item list */
.task-group-acceptable-wrap{margin-top:9px;display:flex;align-items:flex-start;gap:8px;min-width:0}.task-group-acceptable-label{padding-top:7px;flex:0 0 auto;font-size:12px;color:#a8a29e}.task-group-acceptable-items{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.task-group-acceptable-item{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:3px 9px 3px 4px;border:1px solid #3f3f46;border-radius:7px;background:#202022;color:#e7e5e4;font-size:12px;line-height:1.2;text-decoration:none}.task-group-acceptable-item:hover{border-color:var(--accent,#3b82f6);color:var(--accent,#3b82f6)}.task-group-acceptable-item img{width:26px;height:26px;object-fit:contain;border-radius:4px;background:#18181b}.task-group-acceptable-item span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}html[data-mode="light"] .task-group-acceptable-label{color:#71717a}html[data-mode="light"] .task-group-acceptable-item{background:#fafafa;border-color:#e4e4e7;color:#27272a}html[data-mode="light"] .task-group-acceptable-item img{background:#fff}@media(max-width:640px){.task-required-item[data-task-group-id]{align-items:flex-start}.task-required-item[data-task-group-id] .task-required-item-main{align-items:flex-start}.task-group-acceptable-wrap{display:block}.task-group-acceptable-label{display:block;padding-top:0;margin-bottom:6px}.task-group-acceptable-items{gap:5px}.task-group-acceptable-item{padding-right:6px}.task-group-acceptable-item span{max-width:120px}.task-required-item[data-task-group-id] .task-required-item-counter{padding-top:3px}}

/* v483: rotate acceptable item previews for shared task item groups */
.task-group-rotator-link{display:flex;width:100%;height:100%;align-items:center;justify-content:center;text-decoration:none}.task-group-rotator-link img{width:100%;height:100%;object-fit:contain}

/* v485: collection shared-item groups show the same rotating acceptable-item images as task pages */
.collection-group-rotator-link{display:flex;width:100%;height:100%;align-items:center;justify-content:center;text-decoration:none}
.collection-group-rotator-link img{width:100%;height:100%;object-fit:contain}
.collection-group-allowed .task-group-acceptable-items{margin-top:.65rem}

/* v496: storyline objective requirement blocks reuse task requirement visuals */
.story-objective-requirements{padding:10px 12px 12px;border-top-color:#2a2a2a;background:#161616}
.story-objective-req-section{border:1px solid #2f2f33;border-radius:8px;background:#151517;overflow:hidden}
.story-objective-req-section+.story-objective-req-section{margin-top:10px}
.story-objective-req-title{display:flex;align-items:center;gap:7px;padding:9px 12px;border-bottom:1px solid #2f2f33;color:#e7e5e4;font-size:13px;font-weight:650}
.story-objective-req-title i{color:rgb(var(--p-500));width:15px;text-align:center}
.story-objective-req-section .task-required-item{padding-left:12px;padding-right:12px}
html[data-mode="light"] .story-objective-requirements{border-top-color:#e2e8f0;background:#fff}
html[data-mode="light"] .story-objective-req-section{border-color:#e2e8f0;background:#fff}
html[data-mode="light"] .story-objective-req-title{border-bottom-color:#e2e8f0;color:#18181b}
@media(max-width:640px){.story-objective-requirements{padding:8px}.story-objective-req-title{padding:8px 10px}.story-objective-req-section .task-required-item{padding-left:8px;padding-right:8px}}

/* v499: grouped/any-item labels use normal weight like surrounding task text */
.task-required-group-name{font-weight:400}

/* v500: storyline shared-item groups use the exact same mobile layout as task shared-item groups */
@media(max-width:640px){
  .task-required-item[data-story-group-id]{align-items:flex-start}
  .task-required-item[data-story-group-id] .task-required-item-main{align-items:flex-start}
  .task-required-item[data-story-group-id] .task-required-item-counter{padding-top:3px}
}

/* v501: let acceptable-item chips pack naturally on mobile instead of one item per row */
@media(max-width:640px){
  .task-required-item[data-task-group-id] .task-required-item-info,
  .task-required-item[data-story-group-id] .task-required-item-info{
    flex:1 1 auto;
    width:auto;
    min-width:0;
  }
  .task-required-item[data-task-group-id] .task-group-acceptable-wrap,
  .task-required-item[data-story-group-id] .task-group-acceptable-wrap{
    width:100%;
  }
  .task-required-item[data-task-group-id] .task-group-acceptable-items,
  .task-required-item[data-story-group-id] .task-group-acceptable-items{
    display:flex;
    flex-flow:row wrap;
    align-items:flex-start;
    width:100%;
  }
  .task-required-item[data-task-group-id] .task-group-acceptable-item,
  .task-required-item[data-story-group-id] .task-group-acceptable-item{
    flex:0 0 auto;
    width:auto;
    max-width:100%;
  }
}

/* v504: collection cards use fixed Storyline / Task / Hideout thirds. */
.collection-card[data-kind="item"] .collection-card-meta-split{display:grid;grid-template-columns:repeat(var(--collection-meta-count,3),minmax(0,1fr));align-items:stretch}
.collection-card[data-kind="item"] .collection-card-meta-split .collection-meta-side{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-width:0;padding:7px 10px;border-right:1px solid rgba(var(--border),.75)}
.collection-card[data-kind="item"] .collection-card-meta-split .collection-meta-side:last-child{border-right:0}
.collection-card[data-kind="item"] .collection-card-meta-split .collection-meta-values{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:0;white-space:normal}
.collection-card[data-kind="item"] .collection-card-meta-split .collection-meta-line{display:flex;align-items:center;gap:4px;height:auto;min-height:14px;line-height:14px;white-space:nowrap}
.collection-card[data-kind="item"] .collection-card-meta-split .collection-meta-line small,
.collection-card[data-kind="item"] .collection-card-meta-split .collection-meta-line b{height:auto;line-height:14px}
@media(max-width:560px){
  .collection-card[data-kind="item"] .collection-card-meta-split .collection-meta-side{padding:6px 7px}
  .collection-card[data-kind="item"] .collection-card-meta-split .collection-meta-title{font-size:10px}
  .collection-card[data-kind="item"] .collection-card-meta-split .collection-meta-line small,
  .collection-card[data-kind="item"] .collection-card-meta-split .collection-meta-line b{font-size:9px}
}

/* v511: season traits simulator */
.traits-page{padding-bottom:7.5rem}
.traits-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.traits-page-head h1{display:flex;align-items:center;gap:.65rem;margin:0;font-size:1.55rem;font-weight:700}
.traits-page-head h1 i{color:rgb(var(--p-500))}
.traits-page-head p{margin:.45rem 0 0;color:rgb(var(--muted));font-size:.9rem}
.traits-head-badge{display:inline-flex;align-items:center;min-height:34px;padding:.35rem .75rem;border:1px solid rgb(var(--border));border-radius:999px;background:rgb(var(--card));font-size:.82rem;font-weight:700;white-space:nowrap}
.traits-section{margin-top:1rem;padding:1rem;border:1px solid rgb(var(--border));border-radius:1rem;background:rgb(var(--card))}
.traits-section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}
.traits-section-title h2{margin:0;font-size:1.05rem;font-weight:700}
.traits-section-title p{margin:.3rem 0 0;color:rgb(var(--muted));font-size:.8rem}
.traits-section-title>span{color:rgb(var(--muted));font-size:.78rem;white-space:nowrap}
.traits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.trait-card{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;min-width:0;padding:.9rem;border:1px solid rgb(var(--border));border-radius:.85rem;background:rgb(var(--bg-card));color:rgb(var(--text));text-align:left;vertical-align:top;transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}
button.trait-card{cursor:pointer}
button.trait-card:hover{background:rgb(var(--bg-card-soft));border-color:rgb(var(--border))}
.trait-card-head{display:flex;align-items:center;gap:.8rem;min-width:0;min-height:58px;flex:0 0 auto}
.trait-card-head img{width:58px;height:58px;flex:0 0 58px;border-radius:.65rem;object-fit:cover;background:rgb(var(--card))}
.trait-card-name{display:flex;align-items:center;gap:.55rem;min-width:0;flex:1;flex-wrap:wrap}
.trait-card h3{margin:0;font-size:1rem;font-weight:700;line-height:1.25}
.trait-type-chip,.trait-points{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:25px;padding:0 .55rem;border-radius:999px;border:1px solid rgb(var(--border));font-size:.74rem;font-weight:700}
.trait-type-chip{margin-top:.4rem;color:rgb(var(--muted));background:rgb(var(--card))}
.trait-points.is-gain{border-color:rgb(16 185 129/.45);background:rgb(16 185 129/.1);color:rgb(5 150 105)}
.trait-points.is-cost{border-color:rgb(239 68 68/.4);background:rgb(239 68 68/.08);color:rgb(220 38 38)}
.trait-effects{margin:.8rem 0 0;padding:0;list-style:none;display:grid;gap:.38rem}
.trait-effects li{position:relative;padding-left:.85rem;color:rgb(var(--text));font-size:.82rem;line-height:1.55}
.trait-effects li:before{content:"";position:absolute;left:0;top:.65em;width:4px;height:4px;border-radius:50%;background:rgb(var(--p-500))}
.trait-check{position:absolute;right:.75rem;top:.75rem;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid rgb(var(--border));color:transparent;background:rgb(var(--card));font-size:.7rem}
.trait-card.is-selected{border-color:rgb(var(--border));background:rgb(var(--bg-card-soft))}
.trait-card.is-selected .trait-check{border-color:rgb(var(--p-500));background:rgb(var(--p-500));color:white}
.trait-card.is-conflicted{opacity:.52;cursor:not-allowed}
.trait-conflict-note{margin-top:auto;padding-top:.65rem;border-top:1px dashed rgb(var(--border));color:rgb(var(--muted));font-size:.74rem}
.trait-conflict-note i{margin-right:.35rem}.trait-conflict-note strong{color:rgb(var(--text));font-weight:700}.trait-conflict-note.is-active-conflict{color:#dc2626}html:not([data-mode="light"]) .trait-conflict-note.is-active-conflict{color:#f87171}
.traits-summary{position:fixed;left:50%;bottom:1rem;z-index:25;transform:translateX(-50%);width:min(1120px,calc(100vw - 2rem));display:grid;grid-template-columns:1.3fr .7fr .7fr auto;gap:.8rem;align-items:center;padding:.75rem .9rem;border:1px solid rgb(var(--border));border-radius:1rem;background:rgb(var(--card)/.96);box-shadow:0 14px 38px rgb(0 0 0/.16);backdrop-filter:blur(12px)}
.traits-summary-main,.traits-summary-stat{display:flex;align-items:center;gap:.55rem;min-width:0}
.traits-summary-main span,.traits-summary-stat span{font-size:.78rem;color:rgb(var(--muted));white-space:nowrap}
.traits-summary-main strong{font-size:1.25rem;color:rgb(5 150 105)}
.traits-summary-main strong.is-negative{color:rgb(220 38 38)}
.traits-summary-main small{font-size:.72rem;color:rgb(var(--muted));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.traits-summary-stat strong{font-size:1rem}
.traits-summary-actions{display:flex;gap:.45rem;justify-content:flex-end}
.traits-summary-actions button{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;padding:.35rem .7rem;border:1px solid rgb(var(--border));border-radius:.55rem;background:rgb(var(--bg));font-size:.78rem;font-weight:600;white-space:nowrap}
.traits-summary-actions button:hover{border-color:rgb(var(--p-500)/.55);color:rgb(var(--p-500))}
html:not([data-mode="light"]) .trait-points.is-gain{color:rgb(52 211 153);background:rgb(16 185 129/.13)}
html:not([data-mode="light"]) .trait-points.is-cost{color:rgb(248 113 113);background:rgb(239 68 68/.12)}
@media(max-width:1000px){.traits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.traits-summary{grid-template-columns:1fr auto auto}.traits-summary-main small{display:none}.traits-summary-actions{grid-column:1/-1;justify-content:stretch}.traits-summary-actions button{flex:1;justify-content:center}}
@media(max-width:640px){.traits-page{padding-top:1.25rem;padding-bottom:10rem}.traits-page-head{align-items:center}.traits-page-head p{font-size:.8rem}.traits-head-badge{display:none}.traits-section{padding:.75rem}.traits-section-title{align-items:flex-start}.traits-grid{grid-template-columns:1fr}.trait-card{padding:.8rem}.trait-card-head img{width:52px;height:52px;flex-basis:52px}.traits-summary{bottom:.65rem;width:calc(100vw - 1rem);grid-template-columns:1fr 1fr 1fr;gap:.5rem;padding:.65rem}.traits-summary-main{grid-column:1/-1;justify-content:center}.traits-summary-stat{justify-content:center}.traits-summary-actions{grid-column:1/-1}.traits-summary-actions button span{display:none}}

/* v518: season pass documents */
.document-page{padding-bottom:2rem}
.document-page-head{margin-bottom:1rem}.document-page-head h1{display:flex;align-items:center;gap:.65rem;margin:0;font-size:1.55rem;font-weight:700}.document-page-head h1 i{color:rgb(var(--p-500))}
.document-limits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}
.document-limit-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid rgb(var(--border));border-radius:.9rem;background:rgb(var(--card))}.document-limit-card span{font-size:.88rem;color:rgb(var(--muted))}.document-limit-card strong{font-size:1.45rem}.document-limit-card.is-current{background:rgb(var(--bg-card-soft))}
.document-section{padding:1rem;border:1px solid rgb(var(--border));border-radius:1rem;background:rgb(var(--card))}.document-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.document-section-head h2{margin:0;font-size:1.05rem;font-weight:700}.document-section-head p{margin:.3rem 0 0;color:rgb(var(--muted));font-size:.8rem}.document-section-head>span{font-size:.78rem;color:rgb(var(--muted))}
.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.document-card{display:flex;align-items:center;gap:.9rem;padding:.9rem;border:1px solid rgb(var(--border));border-radius:.85rem;background:rgb(var(--bg-card))}.document-card>img{width:72px;height:72px;flex:0 0 72px;object-fit:contain;border-radius:.65rem;background:rgb(var(--card))}.document-card-body{min-width:0;flex:1}.document-card h3{margin:0 0 .55rem;font-size:1rem;font-weight:700}.document-map-label{margin-bottom:.35rem;color:rgb(var(--muted));font-size:.72rem}.document-map-list{display:flex;flex-wrap:wrap;gap:.35rem}.document-map-list span{display:inline-flex;align-items:center;gap:.3rem;min-height:27px;padding:.2rem .55rem;border:1px solid rgb(var(--border));border-radius:999px;background:rgb(var(--card));font-size:.72rem}.document-map-list i{color:rgb(var(--p-500))}.document-empty{padding:2.5rem;text-align:center;color:rgb(var(--muted))}
@media(max-width:980px){.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.document-page{padding-top:1.25rem}.document-limits{grid-template-columns:1fr}.document-grid{grid-template-columns:1fr}.document-card>img{width:62px;height:62px;flex-basis:62px}}

/* v522: season document targets + per-mode progress */
.document-page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.document-target-open{display:inline-flex;align-items:center;gap:.45rem;min-height:38px;padding:.45rem .85rem;border:1px solid rgb(var(--p-500));border-radius:.6rem;background:rgb(var(--p-500));color:#fff;font-size:.82rem;font-weight:600}
.document-target-open:hover{filter:brightness(.96)}
.document-progress-section{margin-bottom:1rem}.document-daily-summary{white-space:nowrap}.document-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.document-progress-card{display:flex;align-items:center;gap:.7rem;min-width:0;padding:.7rem .8rem;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card))}.document-progress-card>img{width:46px;height:46px;flex:0 0 46px;object-fit:contain}.document-progress-info{display:flex;flex-direction:column;min-width:0;flex:1}.document-progress-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.document-progress-info span{margin-top:.15rem;color:rgb(var(--muted));font-size:.74rem}
.document-counter{display:flex;align-items:center;overflow:hidden;border:1px solid rgb(var(--border));border-radius:.6rem;background:rgb(var(--card))}.document-counter button{width:34px;height:34px;border:0;background:transparent;font-size:1rem}.document-counter button:hover{background:rgb(var(--bg-card-soft))}.document-counter input{width:48px;height:34px;border:0;border-left:1px solid rgb(var(--border));background:transparent;text-align:center;color:rgb(var(--p-500));font-weight:700;-moz-appearance:textfield}.document-counter input::-webkit-inner-spin-button,.document-counter input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.document-counter span{padding-right:.5rem;color:rgb(var(--muted));font-size:.78rem}.document-counter.is-disabled{opacity:.5}
.document-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.document-card>img{width:64px;height:64px;flex:0 0 64px}
.document-modal[hidden]{display:none}.document-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:1rem;color:rgb(var(--text))}.document-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(3px)}.document-modal-panel{position:relative;z-index:1;width:min(680px,100%);max-height:min(84vh,800px);overflow:auto;background:rgb(var(--bg-card));color:rgb(var(--text));border:1px solid rgb(var(--border));border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.35)}.document-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:18px 20px;border-bottom:1px solid rgb(var(--border))}.document-modal-head h2{margin:0;font-size:1.1rem;font-weight:700;color:rgb(var(--text))}.document-modal-head p{margin:.35rem 0 0;color:rgb(var(--text-muted));font-size:.78rem}.document-modal-head>button{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:rgb(var(--text-muted))}.document-modal-head>button:hover{background:rgb(var(--bg-card-soft));color:rgb(var(--text))}.document-target-list{padding:8px 20px}.document-target-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px 0;border-bottom:1px solid rgb(var(--border))}.document-target-row>span{display:flex;align-items:center;gap:.75rem;min-width:0}.document-target-row img{width:44px;height:44px;object-fit:contain;border-radius:8px;background:rgb(var(--bg-card-soft))}.document-target-row b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:600;color:rgb(var(--text))}.document-target-row input{width:104px;height:40px;padding:.45rem .6rem;border:1px solid rgb(var(--border));border-radius:.55rem;background:rgb(var(--bg-card-soft));color:rgb(var(--text));text-align:center;outline:none}.document-target-row input:focus{border-color:rgb(var(--p-500));box-shadow:0 0 0 2px rgb(var(--p-500)/.12)}.document-target-total{display:flex;align-items:baseline;justify-content:flex-end;gap:.35rem;padding:12px 20px;color:rgb(var(--text-muted));font-size:.82rem}.document-target-total strong{font-size:1.1rem;color:rgb(var(--text))}.document-target-total strong.is-over{color:#ef4444}.document-modal-actions{display:flex;justify-content:flex-end;gap:.6rem;padding:14px 20px;border-top:1px solid rgb(var(--border));background:rgb(var(--bg-card-soft))}.document-modal-actions button{min-width:72px;padding:.5rem .9rem;border:1px solid rgb(var(--border));border-radius:.55rem;background:rgb(var(--bg-card));color:rgb(var(--text))}.document-modal-actions button:hover{background:rgb(var(--bg-card-soft))}.document-modal-actions .is-primary{border-color:rgb(var(--p-500));background:rgb(var(--p-500));color:#fff}.document-modal-actions .is-primary:hover{filter:brightness(.96);background:rgb(var(--p-500))}.document-modal-open{overflow:hidden}
@media(max-width:1180px){.document-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-progress-grid{grid-template-columns:1fr}}
@media(max-width:640px){.document-page-head{align-items:flex-start}.document-target-open{white-space:nowrap}.document-grid{grid-template-columns:1fr}.document-progress-card{flex-wrap:wrap}.document-counter{margin-left:auto}.document-target-row input{width:84px}}

/* v525: make document daily pickup summary as prominent as section title */
.document-daily-summary{font-size:1.05rem!important;font-weight:700;color:rgb(var(--text))!important;line-height:1.35}
/* v526: document daily shared counter and simplified section headings */
.document-daily-summary{font-size:1.45rem!important;font-weight:700!important;line-height:1!important;color:rgb(var(--text))!important}
.document-progress-section .document-section-head{align-items:center}
/* v531: align season document daily summary and counter typography */
.document-daily-summary{
  font-size:1.45rem!important;
  font-weight:700!important;
  line-height:normal!important;
  color:rgb(var(--text))!important;
}
.document-counter input,
.document-counter span{
  font-size:.88rem!important;
  font-weight:600!important;
  line-height:1!important;
}
.document-counter input{
  color:rgb(var(--p-500));
}
.document-counter span{
  display:flex;
  align-items:center;
  height:34px;
  padding:0 .5rem;
  color:rgb(var(--text));
}

/* v532: use the exact same number typography for daily pickup summary and limit cards */
.document-limit-card strong,
.document-daily-summary{
  font-size:1.45rem!important;
  font-weight:inherit!important;
  line-height:normal!important;
  color:rgb(var(--text))!important;
}
.document-limit-card strong{font-weight:bolder!important}
.document-daily-summary{font-weight:bolder!important}

/* v548: membership purchase / payment */
.member-status-card,.member-login-tip,.member-feature-card,.member-order-history,.member-order-card{border:1px solid rgb(var(--border));background:rgb(var(--panel));border-radius:1rem}
.member-status-card{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.25rem}.member-status-card div{display:flex;gap:.7rem;align-items:center}.member-status-card span{font-size:.82rem;color:rgb(var(--muted))}.member-status-card strong{font-size:.95rem}
.member-login-tip{padding:1rem 1.2rem;display:flex;align-items:center;gap:.65rem}.member-login-tip i{color:rgb(var(--p-500))}.member-back-link{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .8rem;border:1px solid rgb(var(--border));border-radius:.6rem}
.member-taiwan-tip{display:flex;align-items:center;gap:.7rem;padding:1rem 1.25rem;border:1px solid rgb(var(--border));background:rgb(var(--panel));border-radius:1rem;font-size:.95rem}.member-taiwan-tip i{color:rgb(var(--p-500));font-size:1.05rem;flex:0 0 auto}
.member-plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.member-plan-card{position:relative;border:1px solid rgb(var(--border));background:rgb(var(--panel));border-radius:1rem;padding:1.25rem;display:flex;flex-direction:column;min-height:270px}.member-plan-card.is-recommended{box-shadow:inset 0 3px 0 rgb(var(--p-500))}.member-plan-recommend{position:absolute;right:1rem;top:1rem;padding:.2rem .55rem;border-radius:999px;background:rgb(var(--p-500)/.12);color:rgb(var(--p-600));font-size:.72rem;font-weight:700}.member-plan-name{font-size:1.05rem;font-weight:700}.member-plan-price{font-size:2.45rem;font-weight:700;margin:.85rem 0}.member-plan-price span{font-size:1rem;margin-right:.2rem}.member-plan-desc{font-size:.8rem;line-height:1.65;color:rgb(var(--muted));min-height:64px}.member-pay-actions{display:grid;gap:.55rem;margin-top:auto}.member-pay-actions form{margin:0}.member-pay-btn,.member-pay-login,.member-pay-disabled{display:flex;width:100%;min-height:40px;align-items:center;justify-content:center;gap:.5rem;border-radius:.6rem;font-weight:700;border:1px solid rgb(var(--border));transition:.15s}.member-pay-alipay{background:#1677ff;color:#fff;border-color:#1677ff}.member-pay-wechat{background:#07c160;color:#fff;border-color:#07c160}.member-pay-btn:disabled{opacity:.35;cursor:not-allowed}.member-pay-login{background:rgb(var(--p-500));color:#fff;border-color:rgb(var(--p-500))}.member-pay-disabled{margin-top:auto;color:rgb(var(--muted));background:rgb(var(--soft))}
.member-feature-card,.member-order-history{padding:1.25rem}.member-feature-card h2,.member-order-history h2{font-weight:700;margin-bottom:1rem}.member-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.member-feature-grid span{display:flex;align-items:center;gap:.55rem;padding:.8rem;border:1px solid rgb(var(--border));border-radius:.65rem}.member-feature-grid i{color:rgb(var(--p-500));width:1rem;text-align:center}
.member-order-table{border:1px solid rgb(var(--border));border-radius:.7rem;overflow:hidden}.member-order-table a{display:grid;grid-template-columns:1.5fr 1fr .8fr .8fr;gap:.5rem;padding:.75rem .9rem;border-bottom:1px solid rgb(var(--border));font-size:.82rem}.member-order-table a:last-child{border-bottom:0}.member-order-table .status-paid{color:#10b981}.member-order-table .status-pending{color:#f59e0b}.member-order-table .status-expired{color:rgb(var(--muted))}
.member-order-card{padding:1.5rem}.member-order-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px solid rgb(var(--border));padding-bottom:1rem}.member-order-head h1{font-size:1.2rem;font-weight:700}.member-order-head p{font-size:.78rem;color:rgb(var(--muted));margin-top:.35rem}.member-order-head strong{font-size:1.7rem}.member-wechat-pay{text-align:center;padding:1.5rem 0}.member-wechat-pay canvas{display:block;margin:0 auto 1rem;border-radius:.5rem}.member-wechat-title{font-size:1.1rem;font-weight:700}.member-wechat-title i{color:#07c160}.member-wechat-pay p{font-size:.82rem;color:rgb(var(--muted));margin:.5rem 0 1rem}.member-wechat-open{display:inline-flex;padding:.5rem .75rem;border:1px solid rgb(var(--border));border-radius:.55rem;font-size:.8rem}.member-order-wait{text-align:center;color:rgb(var(--muted));font-size:.78rem;padding-top:1rem;border-top:1px solid rgb(var(--border))}.member-order-result{text-align:center;padding:2rem 1rem}.member-order-result i{font-size:2.4rem;color:rgb(var(--p-500));margin-bottom:1rem}.member-order-result.success i{color:#10b981}.member-order-result.failed i{color:#f59e0b}.member-order-result h1{font-size:1.35rem;font-weight:700}.member-order-result p{color:rgb(var(--muted));margin:.6rem 0 1rem}.member-order-result a{display:inline-flex;background:rgb(var(--p-500));color:#fff;border-radius:.6rem;padding:.6rem 1rem}
@media(max-width:900px){.member-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.member-plan-grid{grid-template-columns:1fr}.member-feature-grid{grid-template-columns:1fr}.member-status-card{align-items:flex-start;flex-direction:column}.member-order-table a{grid-template-columns:1fr 1fr}.member-order-head strong{font-size:1.4rem}}

/* v551: member page sizing / channel visibility */
.member-page,.member-order-page{width:100%;max-width:1500px;margin-left:auto;margin-right:auto}.member-page-title i{color:rgb(var(--p-500))}

/* v555: membership/profile action consistency */
.profile-member-action{background:rgb(var(--p-500));color:#fff!important;border:1px solid rgb(var(--p-500));transition:filter .15s ease,opacity .15s ease}
.profile-member-action:hover{color:#fff!important;filter:brightness(.94)}
.profile-member-action i{color:#fff!important}

/* Personal center: keep every card label and helper line as readable body text. */
.profile-dashboard {
    --text-muted: var(--text);
    --text-dim: var(--text);
    --muted-content: var(--text);
}
.profile-dashboard .text-stone-300,
.profile-dashboard .text-stone-400,
.profile-dashboard .text-stone-500,
.profile-dashboard .text-stone-600 {
    color: rgb(var(--text)) !important;
}
.profile-game-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.profile-game-field{display:grid;gap:7px;min-width:0;margin:0}
.profile-game-field label{color:rgb(var(--text));font-size:13px;font-weight:600;line-height:1.25}
.profile-game-field select{display:block;width:100%;height:40px;padding:0 34px 0 12px;border:1px solid rgb(var(--border));border-radius:7px;background-color:rgb(var(--bg));color:rgb(var(--text));font-size:14px;outline:none}
.profile-game-field select:focus{border-color:rgb(var(--border));box-shadow:none;outline:none}
@media(max-width:900px){.profile-game-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.profile-game-settings-grid{grid-template-columns:1fr;gap:12px}}
/* BOSS 刷率：普通数值跟随明暗模式正文色，不跟随主题强调色；100% 固定红色 */
.spawn-table td strong{color:rgb(var(--text))!important}
.spawn-table td strong.is-full-rate{color:#dc2626!important}
.site-pagination .site-pagination-current,
.site-pagination .site-pagination-current:hover{
    background-color:rgb(var(--p-500))!important;
    color:#fff!important;
}
@media (min-width:1280px){
    .item-catalog-grid{grid-template-columns:repeat(8,minmax(0,1fr))!important}
}
.search-page-title>i{color:rgb(var(--p-500))!important}
@media (max-width:640px){
    .site-pagination{max-width:100%;gap:3px!important}
    .site-pagination a{padding:7px 8px!important;font-size:12px!important;white-space:nowrap}
    .site-pagination span{padding-left:2px!important;padding-right:2px!important;font-size:12px}
}

/* 前台即时搜索区：统一为任务列表的输入框 + 重置按钮 */
.unified-search-bar{display:flex!important;align-items:center!important;gap:.75rem!important}
.unified-search-bar>input[type="search"],.unified-search-bar>input[type="text"]{min-width:0!important;flex:1 1 auto!important;width:auto!important}
.unified-search-reset{display:inline-flex;align-items:center;justify-content:center;flex:0 0 96px;height:40px;padding:0 .8rem;border:1px solid rgb(var(--border));border-radius:.4rem;background:rgb(var(--bg-card-soft));color:rgb(var(--text));font-size:.875rem;line-height:1;text-align:center;white-space:nowrap;cursor:pointer}
.unified-search-reset:hover{background:rgb(var(--border))}
.collection-search-wrap.unified-search-bar{height:auto;flex:1 1 auto;padding:10px;border:1px solid rgb(var(--border));border-radius:.75rem;background:rgb(var(--bg-card))}
.collection-search-wrap.unified-search-bar>input{height:40px;padding:0 .8rem;border:1px solid rgb(var(--border));border-radius:.4rem;background:rgb(var(--bg));font-size:.875rem}
.collection-toolbar.collection-toolbar-unified{display:block}
.collection-toolbar-unified .collection-search-wrap{width:100%;margin:10px 0 0}
@media(max-width:640px){.unified-search-bar{gap:.5rem!important}.unified-search-reset{flex-basis:72px}}

/* 搜索栏尺寸校正：不依赖 Tailwind 未生成的动态列宽 */
@media(min-width:768px){
    .task-list-filter-grid{display:grid!important;grid-template-columns:240px 240px minmax(0,1fr) 180px!important}
    .item-list-filter-grid{display:grid!important;grid-template-columns:240px minmax(0,1fr) 180px!important}
}
.unified-search-reset{flex-basis:180px}
.unified-search-bar>input[type="search"]:focus,.unified-search-bar>input[type="text"]:focus{border-color:rgb(var(--border))!important;box-shadow:none!important;outline:none!important}
.collection-toolbar.collection-toolbar-unified{display:flex;align-items:center}
.collection-toolbar-unified .collection-tabs{flex:0 0 auto}
.collection-toolbar-unified .collection-search-wrap{width:auto;min-width:0;flex:1 1 auto;margin:0 0 0 12px;padding:0;border:0;background:transparent}
.collection-toolbar-unified .collection-search-wrap>input{height:40px;padding:0 .8rem;border:1px solid rgb(var(--border));border-radius:.4rem;background:rgb(var(--bg));font-size:.875rem}
@media(max-width:820px){
    .collection-toolbar.collection-toolbar-unified{display:block}
    .collection-toolbar-unified .collection-search-wrap{width:100%;margin:8px 0 0}
}
@media(max-width:640px){.unified-search-reset{flex-basis:86px}}

/* 前台筛选控件最终统一：与任务列表的输入框、下拉框、重置按钮完全一致 */
.task-list-filter-grid input[type="text"],
.task-list-filter-grid select,
.item-list-filter-grid input[type="text"],
.item-list-filter-grid select,
.unified-search-bar>input[type="text"],
.collection-toolbar-unified .collection-search-wrap>input[type="text"],
.exchange-filter-row select,
.fabrication-filter-row select{
    box-sizing:border-box!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 .75rem!important;
    border:1px solid #3a3a3a!important;
    border-radius:.375rem!important;
    background:#090909!important;
    color:#e5e5e5!important;
    font:inherit!important;
    font-size:.875rem!important;
    line-height:1.25rem!important;
    box-shadow:none!important;
    outline:none!important;
}
.task-list-filter-grid input[type="text"]::placeholder,
.item-list-filter-grid input[type="text"]::placeholder,
.unified-search-bar>input[type="text"]::placeholder,
.collection-toolbar-unified .collection-search-wrap>input[type="text"]::placeholder{
    color:#737373!important;
    opacity:1!important;
}
.task-list-filter-grid input[type="text"]:focus,
.task-list-filter-grid select:focus,
.item-list-filter-grid input[type="text"]:focus,
.item-list-filter-grid select:focus,
.unified-search-bar>input[type="text"]:focus,
.collection-toolbar-unified .collection-search-wrap>input[type="text"]:focus,
.exchange-filter-row select:focus,
.fabrication-filter-row select:focus{
    border-color:#3a3a3a!important;
    box-shadow:none!important;
    outline:none!important;
}
.unified-search-reset{
    box-sizing:border-box!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 .75rem!important;
    border:1px solid #3a3a3a!important;
    border-radius:.375rem!important;
    background:#292524!important;
    color:#d6d3d1!important;
    font-size:.875rem!important;
    line-height:1.25rem!important;
    box-shadow:none!important;
}
.unified-search-reset:hover{background:#334155!important;color:#d6d3d1!important}
html[data-mode="light"] .task-list-filter-grid input[type="text"],
html[data-mode="light"] .task-list-filter-grid select,
html[data-mode="light"] .item-list-filter-grid input[type="text"],
html[data-mode="light"] .item-list-filter-grid select,
html[data-mode="light"] .unified-search-bar>input[type="text"],
html[data-mode="light"] .collection-toolbar-unified .collection-search-wrap>input[type="text"],
html[data-mode="light"] .exchange-filter-row select,
html[data-mode="light"] .fabrication-filter-row select{
    border-color:rgb(var(--border))!important;
    background:rgb(var(--bg))!important;
    color:rgb(var(--text))!important;
}
html[data-mode="light"] .task-list-filter-grid input[type="text"]::placeholder,
html[data-mode="light"] .item-list-filter-grid input[type="text"]::placeholder,
html[data-mode="light"] .unified-search-bar>input[type="text"]::placeholder,
html[data-mode="light"] .collection-toolbar-unified .collection-search-wrap>input[type="text"]::placeholder{
    color:rgb(var(--text-muted))!important;
}
html[data-mode="light"] .unified-search-reset{
    border-color:rgb(var(--border))!important;
    background:rgb(var(--bg-card-soft))!important;
    color:rgb(var(--text))!important;
}
html[data-mode="light"] .unified-search-reset:hover{background:rgb(var(--border))!important;color:rgb(var(--text))!important}

/* 搜索区域外框也采用任务列表筛选卡片的明暗配色 */
.achievement-search.unified-search-bar,
.price-search.unified-search-bar,
.exchange-search.unified-search-bar,
.fabrication-search.unified-search-bar{
    box-sizing:border-box!important;
    min-height:72px!important;
    padding:1rem!important;
    border:1px solid #2a2a2a!important;
    border-radius:.75rem!important;
    background:#161616!important;
}
.collection-toolbar.collection-toolbar-unified{
    border-color:#2a2a2a!important;
    background:#161616!important;
}
html[data-mode="light"] .achievement-search.unified-search-bar,
html[data-mode="light"] .price-search.unified-search-bar,
html[data-mode="light"] .exchange-search.unified-search-bar,
html[data-mode="light"] .fabrication-search.unified-search-bar,
html[data-mode="light"] .collection-toolbar.collection-toolbar-unified{
    border-color:rgb(var(--border))!important;
    background:rgb(var(--bg-card))!important;
}
.search-results-sections{display:flex;flex-direction:column}.search-result-storylines{order:1}.search-result-tasks{order:2}.search-result-maps{order:3}.search-result-articles{order:4}.search-result-bosses{order:5}.search-result-traders{order:6}.search-result-achievements{order:7}.search-result-skills{order:8}.search-result-pages{order:9}.search-result-items{order:10}

/* 技能详情与评论区使用同一层级的卡片边界，避免上半部分悬空。 */
.skill-detail-page .skill-detail-hero,.skill-detail-page .skill-detail-section{background:rgb(var(--bg-card));border:1px solid rgb(var(--border))}
.compatible-items-list{height:calc(var(--compatible-visible-rows,7) * 36px);max-height:252px}@media(max-width:767px){.compatible-items-list{height:calc(var(--compatible-card-visible-rows,7) * 36px)}}

/* Hideout item statistics: thumbnail + clearer item identity. */
.hideout-stat-item{display:flex;align-items:center;gap:10px;min-width:0}
.hideout-stat-thumb{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border:1px solid rgb(var(--border));border-radius:7px;background:rgb(var(--bg-card-soft));overflow:hidden}
.hideout-stat-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.hideout-stat-thumb-fallback{width:100%;height:100%;align-items:center;justify-content:center;color:rgb(var(--text-muted));font-size:13px}
.hideout-stat-name{min-width:0;line-height:1.35}

/* Hideout: 26 facilities remain easy to scan without a tiny one-line scrollbar. */
@media(min-width:641px){
  .hideout-facility-list{display:grid!important;grid-template-columns:repeat(14,minmax(64px,1fr));grid-template-rows:repeat(2,64px);grid-auto-flow:row;align-items:stretch;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:auto}
  .hideout-facility-list .facility-btn{min-width:64px;width:100%;height:64px}
  .hideout-facility-list::-webkit-scrollbar{height:10px}
}

@media(max-width:640px){
  .hideout-facility-picker{padding:10px!important}
  .hideout-facility-list{display:flex!important;gap:7px!important;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px!important}
  .hideout-facility-list .facility-btn{scroll-snap-align:start}

  #hideout-stats-panel{padding:12px!important}
  .hideout-stats-head{display:grid!important;grid-template-columns:1fr;gap:7px;align-items:start!important}
  .hideout-stats-head .hideout-stats-title{width:100%;white-space:nowrap}
  #hideout-stats-summary{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;width:100%;line-height:1.55}
  #hideout-stats-summary .hideout-money-total{margin-left:0!important;white-space:nowrap}

  #hideout-stats-scroll{overflow-y:auto!important;overflow-x:hidden!important}
  #hideout-stats-scroll table,#hideout-stats-scroll tbody{display:block;width:100%}
  #hideout-stats-scroll thead{display:none}
  #hideout-stats-scroll .stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;width:100%;padding:10px;margin-bottom:8px;border:1px solid rgb(var(--border))!important;border-radius:9px;background:rgb(var(--bg-card-soft))}
  #hideout-stats-scroll .stat-row:last-child{margin-bottom:0}
  #hideout-stats-scroll .stat-row td{min-width:0;padding:0!important}
  #hideout-stats-scroll .stat-row td:first-child{grid-column:1/-1;padding-bottom:9px!important;font-weight:600;overflow-wrap:anywhere;border-bottom:1px solid rgb(var(--border))}
  #hideout-stats-scroll .hideout-stat-item{gap:9px}
  #hideout-stats-scroll .hideout-stat-thumb{width:46px;height:46px;flex-basis:46px;border-radius:8px;background:rgb(var(--bg-card))}
  #hideout-stats-scroll .hideout-stat-name{font-size:14px;line-height:1.4}
  #hideout-stats-scroll .stat-row td:nth-child(2),#hideout-stats-scroll .stat-row td:nth-child(3),#hideout-stats-scroll .stat-row td:nth-child(4){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:9px 4px 2px!important;font-size:13px;font-weight:600}
  #hideout-stats-scroll .stat-row td:nth-child(2)::before,#hideout-stats-scroll .stat-row td:nth-child(3)::before,#hideout-stats-scroll .stat-row td:nth-child(4)::before{color:rgb(var(--text-muted));font-size:10px;font-weight:400;line-height:1}
  #hideout-stats-scroll .stat-row td:nth-child(2)::before{content:'总需'}
  #hideout-stats-scroll .stat-row td:nth-child(3)::before{content:'已收'}
  #hideout-stats-scroll .stat-row td:nth-child(4)::before{content:'还差'}
  #hideout-stats-scroll .stat-row td:nth-child(5){grid-column:1/-1;margin-top:8px;padding:8px 9px!important;border-radius:7px;background:rgb(var(--bg-hover));line-height:1.55;color:rgb(var(--text-muted))!important;font-size:11px}
  #hideout-stats-scroll .stat-row td:nth-child(5)::before{content:'来源：';font-weight:600;color:rgb(var(--text))}

  .hideout-module-overview{padding:9px 10px!important}
  .hideout-module-overview-title{margin-bottom:7px!important}
  .hideout-module-overview-totals{display:grid!important;grid-template-columns:1fr;gap:5px!important;line-height:1.45}
  .hideout-module-overview-items{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px!important;line-height:1.55}
  .hideout-module-overview-items>span{display:inline-flex;align-items:center;margin:0!important}
  .hideout-module-overview-items>span.text-stone-600{display:none}
}
/* 技能列表：悬停仅使用与全站卡片一致的轻微背景提示 */
.skill-list-card:hover{border-color:rgb(var(--border))!important;background:rgb(var(--bg-card-soft))!important;transform:none!important}
.skill-list-copy{padding-right:0}

/* ===== 全站统一轻提示 / Toast ===== */
.site-toast-container{
    position:fixed;
    top:68px;
    right:16px;
    z-index:20000;
    width:min(360px,calc(100vw - 24px));
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:8px;
    pointer-events:none;
}
.site-toast{
    --toast-accent:59 130 246;
    --toast-accent-solid:#3b82f6;
    position:relative;
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    align-items:center;
    gap:10px;
    width:auto;
    max-width:100%;
    min-height:48px;
    padding:9px 13px 10px 10px;
    overflow:hidden;
    border:1px solid rgb(var(--toast-accent) / .28);
    border-radius:11px;
    background:rgb(24 24 27 / .96);
    color:#f5f5f4;
    box-shadow:0 10px 28px rgb(0 0 0 / .20),0 2px 8px rgb(0 0 0 / .12);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    opacity:0;
    transform:translate3d(12px,-3px,0) scale(.985);
    transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1);
    pointer-events:none;
}
.site-toast.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}
.site-toast.is-leaving{opacity:0;transform:translate3d(10px,-2px,0) scale(.985)}
.site-toast--success{--toast-accent:16 185 129;--toast-accent-solid:#10b981}
.site-toast--error{--toast-accent:239 68 68;--toast-accent-solid:#ef4444}
.site-toast--warning{--toast-accent:245 158 11;--toast-accent-solid:#f59e0b}
.site-toast--info{--toast-accent:59 130 246;--toast-accent-solid:#3b82f6}
.site-toast__icon{
    width:28px;
    height:28px;
    border-radius:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    background:rgb(var(--toast-accent) / .14);
    color:rgb(var(--toast-accent));
    font-size:12px;
}
.site-toast__message{
    min-width:0;
    font-size:13px;
    line-height:1.45;
    font-weight:600;
    letter-spacing:.01em;
    overflow-wrap:anywhere;
}
.site-toast__progress{
    position:absolute;
    left:0;
    bottom:0;
    height:2px;
    width:100%;
    background:rgb(var(--toast-accent) / .82);
    transform-origin:left center;
    animation:site-toast-progress var(--toast-duration,3200ms) linear forwards;
}
@keyframes site-toast-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}
html[data-mode="light"] .site-toast{
    background:rgb(255 255 255 / .97);
    color:#18181b;
    border-color:rgb(var(--toast-accent) / .30);
    box-shadow:0 10px 28px rgb(15 23 42 / .12),0 2px 8px rgb(15 23 42 / .06);
}
@media(max-width:640px){
    .site-toast-container{top:64px;right:10px;width:calc(100vw - 20px);align-items:stretch}
    .site-toast{width:100%;padding-right:12px}
}
@media(prefers-reduced-motion:reduce){
    .site-toast{transition:none}
    .site-toast__progress{animation:none}
}

/* ===== 统一确认弹窗 ===== */
.site-confirm-overlay{
    position:fixed;
    inset:0;
    z-index:10050;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(2,6,23,.48);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    opacity:0;
    visibility:hidden;
    transition:opacity .16s ease,visibility .16s ease;
}
.site-confirm-overlay.is-open{opacity:1;visibility:visible}
.site-confirm-dialog{
    width:min(430px,100%);
    display:grid;
    grid-template-columns:44px 1fr;
    column-gap:14px;
    row-gap:18px;
    padding:22px;
    border:1px solid rgba(148,163,184,.22);
    border-radius:16px;
    background:#171717;
    color:#f5f5f4;
    box-shadow:0 22px 60px rgba(0,0,0,.32);
    transform:translateY(8px) scale(.985);
    transition:transform .16s ease;
}
.site-confirm-overlay.is-open .site-confirm-dialog{transform:translateY(0) scale(1)}
.site-confirm-icon{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:rgba(59,130,246,.14);
    color:#60a5fa;
    font-size:18px;
}
.site-confirm-icon.is-danger{background:rgba(239,68,68,.12);color:#f87171}
.site-confirm-body{min-width:0;padding-top:1px}
.site-confirm-title{font-size:17px;font-weight:700;line-height:1.35;color:inherit}
.site-confirm-message{margin-top:7px;font-size:14px;line-height:1.65;color:#a8a29e}
.site-confirm-actions{
    grid-column:1 / -1;
    display:flex;
    justify-content:flex-end;
    gap:10px;
}
.site-confirm-btn{
    min-width:88px;
    height:38px;
    padding:0 16px;
    border-radius:9px;
    border:1px solid transparent;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    transition:background-color .15s ease,border-color .15s ease,transform .15s ease;
}
.site-confirm-btn:active{transform:translateY(1px)}
.site-confirm-btn--cancel{background:#262626;border-color:#404040;color:#e7e5e4}
.site-confirm-btn--cancel:hover{background:#303030}
.site-confirm-btn--primary{background:#2563eb;color:#fff}
.site-confirm-btn--primary:hover{background:#1d4ed8}
.site-confirm-btn--danger{background:#ef4444;color:#fff}
.site-confirm-btn--danger:hover{background:#dc2626}
html[data-mode="light"] .site-confirm-overlay{background:rgba(15,23,42,.28)}
html[data-mode="light"] .site-confirm-dialog{
    background:#fff;
    color:#0f172a;
    border-color:#dbe3ee;
    box-shadow:0 22px 60px rgba(15,23,42,.18);
}
html[data-mode="light"] .site-confirm-message{color:#64748b}
html[data-mode="light"] .site-confirm-btn--cancel{background:#f8fafc;border-color:#dbe3ee;color:#334155}
html[data-mode="light"] .site-confirm-btn--cancel:hover{background:#f1f5f9}
@media (max-width:640px){
    .site-confirm-overlay{align-items:flex-end;padding:12px}
    .site-confirm-dialog{width:100%;padding:20px;border-radius:16px;grid-template-columns:40px 1fr}
    .site-confirm-icon{width:40px;height:40px}
    .site-confirm-actions{display:grid;grid-template-columns:1fr 1fr}
    .site-confirm-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
    .site-confirm-overlay,.site-confirm-dialog,.site-confirm-btn{transition:none}
}

.ceremony-fixed-notice{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border:1px solid rgb(var(--p-500)/.28);border-radius:10px;background:rgb(var(--p-500)/.07);color:rgb(var(--text));font-size:14px;line-height:1.7}.ceremony-fixed-notice i{color:rgb(var(--p-500));margin-top:4px;flex:0 0 auto}


/* v721 - task detail desktop sidebar follows the guide and stops before comments */
@media (min-width: 1024px) {
    .task-detail-sidebar {
        position: sticky;
        top: 72px;
        align-self: start;
    }
}


/* v722: mobile task detail ordering
   Basic task content -> status/relations/rewards -> guide/dialogues -> comments. */
@media (max-width: 1023px) {
    .task-detail-main,
    .task-detail-sidebar {
        display: contents;
    }

    .task-detail-main > * {
        order: 10;
    }

    .task-detail-sidebar > * {
        order: 20;
    }

    .task-detail-main > .task-detail-guide-block,
    .task-detail-main > .task-detail-dialogue-block {
        order: 30;
    }
}

/* v723: mobile task detail uses the outer grid gap only.
   v722 turns main/sidebar wrappers into display:contents, so Tailwind space-y margins
   would otherwise stack on top of grid gap and create oversized uneven spacing. */
@media (max-width: 1023px) {
    /* Tailwind v4 的 space-y-* 使用 margin-block-end，而不是 margin-top。
       手机端 display:contents 重排后必须把这些原列间距全部清掉，
       只保留外层 grid 的 gap-6（与“奖励 → 任务攻略”的距离一致）。 */
    .task-detail-main > :not([hidden]),
    .task-detail-sidebar > :not([hidden]) {
        margin-block-start: 0 !important;
        margin-block-end: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}


/* v744: 任务列表全局排序后的紧凑商人展示 + 移动端任务名称优先 */
.task-list-entry-row{display:flex;align-items:center;gap:12px;min-width:0}
.task-list-entry-main{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;flex-wrap:wrap}
.task-list-entry-main .task-list-trader{display:inline-flex;align-items:center;flex:0 0 auto;padding:2px 7px;border:1px solid rgb(var(--border));border-radius:6px;font-size:11px;line-height:1.35;font-weight:500;color:rgb(var(--text-dim));background:rgb(var(--bg-card-soft))}
.task-list-entry-main .task-list-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.task-list-entry-meta{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:0 0 auto;min-width:0;font-size:12px;color:rgb(var(--text-dim))}
.task-list-entry-meta>span:first-child{max-width:460px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:640px){
  .task-list-entry{padding:12px!important}
  .task-list-entry-row{display:block}
  .task-list-entry-main{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:6px;width:100%}
  .task-list-entry-main .task-list-title{min-width:0;overflow:visible;text-overflow:clip;white-space:normal;line-height:1.35}
  .task-list-entry-main .task-list-trader{font-size:10px;padding:1px 5px}
  .task-list-entry-meta{margin-top:7px;padding-left:14px;justify-content:flex-start;gap:10px;width:100%;font-size:11px;line-height:1.35}
  .task-list-entry-meta>span:first-child{max-width:none;white-space:normal;overflow:visible;text-overflow:clip;flex:1 1 auto}
  .task-list-entry-meta>span:last-child{flex:0 0 auto;white-space:nowrap}
}


/* v745: 任务列表商人头像 + 地图/等级稳定布局 */
.task-list-entry-main .task-list-trader-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;border:1px solid rgb(var(--border));border-radius:50%;overflow:hidden;background:rgb(var(--bg-card-soft));color:rgb(var(--text-dim));font-size:10px}
.task-list-entry-main .task-list-trader-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.task-list-entry-meta .task-list-map{min-width:0;max-width:460px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.task-list-entry-meta .task-list-level{margin-left:auto;flex:0 0 auto;white-space:nowrap}
@media(max-width:640px){
  .task-list-entry-main{grid-template-columns:auto 24px minmax(0,1fr) auto auto!important}
  .task-list-entry-main .task-list-trader-avatar{width:24px;height:24px;flex-basis:24px}
  .task-list-entry-meta{display:flex!important;align-items:center;justify-content:space-between!important;gap:10px;padding-left:14px!important}
  .task-list-entry-meta .task-list-map{flex:1 1 auto;min-width:0;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .task-list-entry-meta .task-list-level{margin-left:auto;flex:0 0 auto;white-space:nowrap}
}

/* v782: 搜索页任务结果与任务列表统一使用商人头像，不显示任务状态点 */
.search-task-result{display:flex;align-items:center;gap:10px}
.search-task-trader-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;border:1px solid rgb(var(--border));border-radius:50%;overflow:hidden;background:rgb(var(--bg-card-soft));color:rgb(var(--text-dim));font-size:10px}
.search-task-trader-avatar img{display:block;width:100%;height:100%;object-fit:cover}

/* v783: 任务详情顶部始终显示地图提示；奖励卡片底部间距与顶部更协调 */
.task-rewards-card .task-reward-group:last-child{margin-bottom:0!important}


/* v788: 任务详情右侧卡片文字使用正常主题文字色，去除灰化 */
.task-status-card .text-stone-500,
.task-status-card .text-stone-400,
.task-status-card .text-stone-300,
.task-relation-card .text-stone-500,
.task-relation-card .text-stone-400,
.task-relation-card .text-stone-300,
.task-rewards-card .text-stone-500,
.task-rewards-card .text-stone-400,
.task-rewards-card .text-stone-300{
  color:rgb(var(--text))!important;
}

/* v789: frontend text color normalization
   All secondary/muted textual copy should use the normal theme text color.
   Keep semantic/status/accent colors (success/warning/error/theme) unchanged. */
body#app{
  --text-muted:var(--text);
  --text-dim:var(--text);
  --text-sub:var(--text);
  --muted:var(--text);
  --muted-content:var(--text);
}

/* Tailwind stone utility classes are widely used by old frontend templates as
   secondary copy. Normalize text-bearing elements without flattening icon/status colors. */
body#app :is(p,span,small,div,label,a,button,td,th,li,dt,dd,h1,h2,h3,h4,h5,h6).text-stone-200,
body#app :is(p,span,small,div,label,a,button,td,th,li,dt,dd,h1,h2,h3,h4,h5,h6).text-stone-300,
body#app :is(p,span,small,div,label,a,button,td,th,li,dt,dd,h1,h2,h3,h4,h5,h6).text-stone-400,
body#app :is(p,span,small,div,label,a,button,td,th,li,dt,dd,h1,h2,h3,h4,h5,h6).text-stone-500,
body#app :is(p,span,small,div,label,a,button,td,th,li,dt,dd,h1,h2,h3,h4,h5,h6).text-stone-600{
  color:rgb(var(--text))!important;
}

/* Legacy hard-coded gray helper/meta text not driven by theme tokens. */
.task-required-item-tags,
.task-required-item-countbox .task-required-item-count-sep,
.task-required-item-countbox .task-required-item-count-total,
.task-group-acceptable-label,
.map-panel-heading small,
.map-filter,
.map-filter b,
.map-task small,
.map-empty,
.map-no-svg,
.map-marker-dialog p,
.map-panel-close,
.map-meta,
.map-task-floor,
.map-floor-hint,
.map-locate-tip,
.map-locate-close,
.map-auto-locate-directory span,
.map-auto-locate-status:not([data-state="active"]):not([data-state="warning"]):not([data-state="error"]),
.map-list-meta-label,
.ranking-tooltip small,
.site-confirm-message{
  color:rgb(var(--text))!important;
}

/* Map controls use gray as neutral text too; normalize only their labels, while
   preserving active/hover accent states declared later with higher specificity. */
.map-toolbar button:not(:hover),
.map-floor:not(.is-active),
.map-desktop-panel-toggle:not(:hover){
  color:rgb(var(--text))!important;
}

/* Light-mode legacy overrides contained hard-coded slate grays. */
html[data-mode="light"] body#app .task-required-item-tags,
html[data-mode="light"] body#app .task-required-item-countbox .task-required-item-count-sep,
html[data-mode="light"] body#app .task-required-item-countbox .task-required-item-count-total,
html[data-mode="light"] body#app .task-group-acceptable-label,
html[data-mode="light"] body#app .map-task,
html[data-mode="light"] body#app .map-meta,
html[data-mode="light"] body#app .map-task-floor,
html[data-mode="light"] body#app .map-marker-dialog p,
html[data-mode="light"] body#app .map-floor-hint,
html[data-mode="light"] body#app .map-locate-tip,
html[data-mode="light"] body#app .map-locate-close,
html[data-mode="light"] body#app .map-auto-locate-directory span,
html[data-mode="light"] body#app .map-auto-locate-status:not([data-state="active"]):not([data-state="warning"]):not([data-state="error"]),
html[data-mode="light"] body#app .map-list-meta-label,
html[data-mode="light"] body#app .ranking-tooltip small,
html[data-mode="light"] body#app .site-confirm-message{
  color:rgb(var(--text))!important;
}

/* v792: restore theme accent for currently selected map filters/tasks.
   v789 text normalization intentionally made neutral labels follow --text,
   but its !important rules also overrode the map's .is-active accent state. */
body#app .map-panel-left .map-filter.is-active,
body#app .map-panel-right .map-task.is-active,
body#app .map-panel-right .map-story-target.is-active{
  color:rgb(var(--p-500))!important;
}
body#app .map-panel-left .map-filter.is-active :is(span,i,b),
body#app .map-panel-right .map-task.is-active :is(span,i,b,small),
body#app .map-panel-right .map-story-target.is-active :is(span,i,b,small){
  color:rgb(var(--p-500))!important;
}
html[data-mode="light"] body#app .map-panel-left .map-filter.is-active,
html[data-mode="light"] body#app .map-panel-right .map-task.is-active,
html[data-mode="light"] body#app .map-panel-right .map-story-target.is-active,
html[data-mode="light"] body#app .map-panel-left .map-filter.is-active :is(span,i,b),
html[data-mode="light"] body#app .map-panel-right .map-task.is-active :is(span,i,b,small),
html[data-mode="light"] body#app .map-panel-right .map-story-target.is-active :is(span,i,b,small){
  color:rgb(var(--p-700))!important;
}

/* v793: map floor filter buttons follow the trader detail filter-button style.
   Keep neutral hover text, and use the theme color only for the selected floor. */
body#app .map-floor{
  border-color:rgb(var(--border))!important;
  background:rgb(var(--bg-card))!important;
  color:rgb(var(--text-muted))!important;
  font-weight:600;
  transition:.15s ease;
}
body#app .map-floor:hover:not(.is-active){
  border-color:rgb(var(--p-500))!important;
  background:rgb(var(--bg-card))!important;
  color:rgb(var(--text))!important;
}
body#app .map-floor.is-active,
html[data-mode="light"] body#app .map-floor.is-active,
html:not([data-mode="light"]) body#app .map-floor.is-active{
  border-color:rgb(var(--p-500))!important;
  background:rgb(var(--p-500) / .12)!important;
  color:rgb(var(--p-500))!important;
  box-shadow:0 0 0 1px rgb(var(--p-500) / .16);
}

/* v793: right-side map task/story rows should not turn into the theme color on hover.
   Selected rows still keep their active theme-color indication. */
body#app .map-panel-right .map-task:hover:not(.is-active),
html[data-mode="light"] body#app .map-panel-right .map-task:hover:not(.is-active),
html:not([data-mode="light"]) body#app .map-panel-right .map-task:hover:not(.is-active){
  color:rgb(var(--text))!important;
  background:transparent!important;
  box-shadow:none!important;
}
body#app .map-panel-right .map-task:hover:not(.is-active) :is(span,i,b,small),
html[data-mode="light"] body#app .map-panel-right .map-task:hover:not(.is-active) :is(span,i,b,small),
html:not([data-mode="light"]) body#app .map-panel-right .map-task:hover:not(.is-active) :is(span,i,b,small){
  color:rgb(var(--text))!important;
}

/* v794: 地图右侧任务列表夜间模式与白天交互保持一致。
   普通文字使用夜间正文色；hover 不再变主题色；真正选中的任务仍保留主题色。 */
html:not([data-mode="light"]) .map-panel-right .map-task:not(.is-active){
  color:#f5f5f4 !important;
}
html:not([data-mode="light"]) .map-panel-right .map-task:not(.is-active) span,
html:not([data-mode="light"]) .map-panel-right .map-task:not(.is-active) i{
  color:inherit !important;
}
html:not([data-mode="light"]) .map-panel-right .map-task:hover:not(.is-active){
  color:#f5f5f4 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html:not([data-mode="light"]) .map-panel-right .map-task:hover:not(.is-active) span,
html:not([data-mode="light"]) .map-panel-right .map-task:hover:not(.is-active) i{
  color:inherit !important;
}
html:not([data-mode="light"]) .map-panel-right .map-task.is-active,
html:not([data-mode="light"]) .map-panel-right .map-task.is-active span,
html:not([data-mode="light"]) .map-panel-right .map-task.is-active i,
html:not([data-mode="light"]) .map-panel-right .map-task.is-active small{
  color:rgb(var(--p-400)) !important;
}


/* 地图：跨楼层标记。已选中的其它楼层图标继续显示，但淡化；点击可切到所在楼层。 */
.map-marker.is-other-floor{
  opacity:.28;
  filter:grayscale(.45) blur(.35px);
  cursor:pointer;
  z-index:2;
  transition:opacity .15s ease,filter .15s ease;
}
.map-marker.is-other-floor:hover,
.map-marker.is-other-floor:focus-visible{
  opacity:.62;
  filter:grayscale(.15) blur(0);
  z-index:7;
}
.map-marker.is-other-floor .map-marker-title{
  opacity:.78;
}

/* BTR tracker */
.btr-page{color:rgb(var(--text))}.btr-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:1rem}.btr-kicker{font-size:.75rem;font-weight:700;color:rgb(var(--p-500));letter-spacing:.08em;margin-bottom:.35rem}.btr-title-row h1{font-size:1.65rem;font-weight:800;line-height:1.2}.btr-title-row h1 i{color:rgb(var(--p-500));margin-right:.55rem}.btr-title-row p{margin-top:.45rem;color:rgb(var(--text-muted));font-size:.86rem}.btr-mode-tabs{display:flex;gap:.4rem;flex:none}.btr-mode-tabs a{padding:.45rem .8rem;border:1px solid rgb(var(--border));border-radius:.5rem;font-size:.78rem;font-weight:600;background:rgb(var(--bg-card))}.btr-mode-tabs a.is-active{border-color:rgb(var(--p-500));color:rgb(var(--p-500));background:rgb(var(--p-500)/.1)}.btr-panel{background:rgb(var(--bg-card));border:1px solid rgb(var(--border));border-radius:.8rem}.btr-notice{display:flex;gap:.75rem;align-items:flex-start;padding:.9rem 1rem;margin-bottom:1rem}.btr-notice>i{color:rgb(var(--p-500));margin-top:.15rem}.btr-notice strong{display:block;font-size:.9rem}.btr-notice p{margin-top:.2rem;font-size:.8rem;line-height:1.6;color:rgb(var(--text-muted))}.btr-grid{display:grid;grid-template-columns:350px minmax(0,1fr);gap:1rem}.btr-report-card,.btr-latest,.btr-routes{padding:1rem}.btr-page h2{font-size:1.02rem;font-weight:700}.btr-page h2 i{color:rgb(var(--p-500));margin-right:.45rem}.btr-field-title{margin:.85rem 0 .4rem;font-size:.76rem;color:rgb(var(--text-muted));font-weight:600}.btr-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.btr-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.btr-choice-grid input{position:absolute;opacity:0;pointer-events:none}.btr-choice-grid span{display:flex;align-items:center;justify-content:center;min-height:38px;padding:.4rem;border:1px solid rgb(var(--border));border-radius:.5rem;background:rgb(var(--bg-card-soft));font-size:.82rem;font-weight:600;cursor:pointer}.btr-choice-grid input:checked+span{border-color:rgb(var(--p-500));background:rgb(var(--p-500)/.1);color:rgb(var(--p-500))}.btr-select{width:100%;min-height:40px;padding:0 .7rem;border:1px solid rgb(var(--border));border-radius:.5rem;background:rgb(var(--bg-card-soft));color:rgb(var(--text));outline:none}.btr-select:focus{border-color:rgb(var(--p-500))}.btr-current{margin-top:.9rem;padding:.7rem .8rem;border-radius:.5rem;background:rgb(var(--bg-card-soft));font-size:.75rem;color:rgb(var(--text-muted))}.btr-current strong{display:block;margin-top:.2rem;color:rgb(var(--text));line-height:1.5}.btr-submit{display:flex;width:100%;align-items:center;justify-content:center;min-height:42px;margin-top:.7rem;border:0;border-radius:.55rem;background:rgb(var(--p-500));color:#fff!important;font-size:.86rem;font-weight:700;cursor:pointer}.btr-submit:hover{filter:brightness(.96)}.btr-hint{font-size:.7rem;color:rgb(var(--text-muted));text-align:center;margin-top:.55rem}.btr-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.btr-section-head>span{font-size:.72rem;color:rgb(var(--text-muted))}.btr-latest-focus{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.8rem;padding:.9rem;margin-top:.8rem;border:1px solid rgb(var(--p-500)/.3);border-radius:.65rem;background:linear-gradient(90deg,rgb(var(--p-500)/.1),transparent)}.btr-radar{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgb(var(--p-500)/.35);border-radius:50%;color:rgb(var(--p-500));font-size:1rem}.btr-focus-main small,.btr-focus-main span{display:block;font-size:.72rem;color:rgb(var(--text-muted))}.btr-focus-main strong{display:block;margin:.15rem 0;font-size:1rem}.btr-freshness{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .48rem;border:1px solid rgb(var(--border));border-radius:999px;font-size:.68rem;white-space:nowrap}.btr-freshness.fresh{border-color:rgb(var(--p-500)/.4);color:rgb(var(--p-500));background:rgb(var(--p-500)/.08)}.btr-freshness.moving{color:rgb(var(--text-muted))}.btr-freshness.stale{opacity:.6}.btr-map-link{font-size:.74rem;color:rgb(var(--p-500))}.btr-report-list{margin-top:.7rem;border-top:1px solid rgb(var(--border))}.btr-report-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(130px,.7fr) auto auto;align-items:center;gap:.8rem;padding:.75rem .15rem;border-bottom:1px solid rgb(var(--border))}.btr-report-row>div:first-child strong,.btr-report-row>div:first-child span{display:block}.btr-report-row>div:first-child strong{font-size:.82rem}.btr-report-row>div:first-child span,.btr-report-meta span,.btr-report-meta time{font-size:.7rem;color:rgb(var(--text-muted))}.btr-report-meta span,.btr-report-meta time{display:block}.btr-actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem}.btr-actions form{margin:0}.btr-actions a,.btr-actions button{padding:.28rem .48rem;border:1px solid rgb(var(--border));border-radius:.4rem;background:transparent;color:rgb(var(--text));font-size:.68rem}.btr-actions button:disabled{opacity:.45;cursor:not-allowed}.btr-routes{margin-top:1rem}.btr-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.8rem}.btr-route-grid article{border:1px solid rgb(var(--border));border-radius:.65rem;overflow:hidden}.btr-route-grid h3{padding:.7rem .8rem;border-bottom:1px solid rgb(var(--border));font-size:.86rem;font-weight:700;background:rgb(var(--bg-card-soft))}.btr-route-grid article>div>a,.btr-route-static{display:flex;align-items:center;gap:.55rem;padding:.62rem .75rem;border-bottom:1px solid rgb(var(--border));font-size:.78rem}.btr-route-grid article>div>*:last-child{border-bottom:0}.btr-route-grid article>div>a:hover{background:rgb(var(--bg-card-soft));color:rgb(var(--p-500))}.btr-route-grid article>div>a>span,.btr-route-static>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgb(var(--bg-card-soft));font-size:.66rem;flex:none}.btr-route-grid article>div>a>i{margin-left:auto;font-size:.66rem;color:rgb(var(--text-muted))}.btr-empty{padding:2rem 1rem;text-align:center;color:rgb(var(--text-muted));font-size:.82rem}
@media(max-width:900px){.btr-title-row{align-items:flex-start;flex-direction:column}.btr-grid{grid-template-columns:1fr}.btr-route-grid{grid-template-columns:1fr}.btr-latest-focus{grid-template-columns:auto minmax(0,1fr) auto}.btr-map-link{grid-column:2/4}.btr-report-row{grid-template-columns:minmax(0,1fr) auto}.btr-report-meta{grid-column:1}.btr-report-row>.btr-freshness{grid-column:2;grid-row:1}.btr-actions{grid-column:2;grid-row:2}.btr-mode-tabs{width:100%}.btr-mode-tabs a{flex:1;text-align:center}}

/* BTR 时间模拟追踪器 v800 */
.btr2-page{color:rgb(var(--text))}.btr2-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:1rem}.btr2-kicker{font-size:.75rem;font-weight:700;letter-spacing:.08em;color:rgb(var(--p-500));margin-bottom:.35rem}.btr2-head h1{font-size:1.65rem;font-weight:800;line-height:1.2}.btr2-head h1 i{margin-right:.55rem;color:rgb(var(--p-500))}.btr2-head p{margin-top:.4rem;font-size:.84rem;color:rgb(var(--text-muted))}.btr2-map-tabs,.btr2-filter,.btr2-quick{display:flex;flex-wrap:wrap;gap:.45rem}.btr2-map-tabs button,.btr2-filter button,.btr2-quick button{min-height:36px;padding:.4rem .75rem;border:1px solid rgb(var(--border));border-radius:.5rem;background:rgb(var(--bg-card));color:rgb(var(--text));font-size:.78rem;font-weight:600}.btr2-map-tabs button.is-active,.btr2-filter button.is-active{border-color:rgb(var(--p-500));background:rgb(var(--p-500)/.1);color:rgb(var(--p-500))}.btr2-map-tabs button:hover,.btr2-filter button:hover,.btr2-quick button:hover{border-color:rgb(var(--p-500)/.55)}.btr2-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1rem;align-items:start}.btr2-panel{background:rgb(var(--bg-card));border:1px solid rgb(var(--border));border-radius:.8rem}.btr2-controls{padding:1rem;position:sticky;top:4.5rem}.btr2-panel-title{font-size:.95rem;font-weight:700;margin-bottom:.8rem}.btr2-panel-title i{margin-right:.4rem;color:rgb(var(--p-500))}.btr2-time-input{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;align-items:center}.btr2-time-input input{width:100%;height:54px;border:1px solid rgb(var(--border));border-radius:.6rem;background:rgb(var(--bg-card-soft));color:rgb(var(--text));font-size:1.45rem;font-weight:800;text-align:center;outline:none}.btr2-time-input input:focus{border-color:rgb(var(--p-500))}.btr2-time-input span{font-size:1.5rem;font-weight:800}.btr2-track{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;height:42px;margin-top:.65rem;border:0;border-radius:.55rem;background:rgb(var(--p-500));color:#fff!important;font-weight:700}.btr2-quick-title{margin:.9rem 0 .45rem;font-size:.72rem;font-weight:700;color:rgb(var(--text-muted))}.btr2-quick button{flex:1;min-width:62px;padding:.3rem .45rem;font-size:.7rem}.btr2-divider{height:1px;background:rgb(var(--border));margin:1rem 0}.btr2-stat-row{display:flex;justify-content:space-between;gap:1rem;padding:.32rem 0;font-size:.76rem}.btr2-stat-row span{color:rgb(var(--text-muted))}.btr2-stat-row strong{text-align:right}.btr2-note{display:flex;align-items:flex-start;gap:.55rem;margin-top:.85rem;padding:.65rem;border-radius:.55rem;background:rgb(var(--bg-card-soft));font-size:.7rem;line-height:1.55;color:rgb(var(--text-muted))}.btr2-note i{margin-top:.15rem;color:rgb(var(--p-500))}.btr2-main{min-width:0}.btr2-status{padding:1rem;margin-bottom:1rem}.btr2-status-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.btr2-label{display:block;font-size:.7rem;color:rgb(var(--text-muted));margin-bottom:.1rem}.btr2-clock{font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}.btr2-live{display:flex;align-items:center;gap:.45rem;padding:.35rem .55rem;border:1px solid rgb(var(--border));border-radius:999px;font-size:.7rem;color:rgb(var(--text-muted))}.btr2-live i{width:7px;height:7px;border-radius:50%;background:rgb(var(--text-muted));opacity:.55}.btr2-live.is-live{color:rgb(var(--p-500));border-color:rgb(var(--p-500)/.35);background:rgb(var(--p-500)/.06)}.btr2-live.is-live i{background:rgb(var(--p-500));opacity:1;box-shadow:0 0 0 4px rgb(var(--p-500)/.1)}.btr2-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.btr2-route{background:rgb(var(--bg-card));border:1px solid rgb(var(--border));border-radius:.8rem;overflow:hidden}.btr2-route-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 1rem;border-bottom:1px solid rgb(var(--border));background:rgb(var(--bg-card-soft))}.btr2-route-head>div:first-child span{display:block;font-size:.7rem;color:rgb(var(--text-muted));margin-bottom:.2rem}.btr2-route-head>div:first-child strong{display:block;font-size:.88rem}.btr2-next{text-align:right}.btr2-next small,.btr2-next b,.btr2-next em{display:block}.btr2-next small{font-size:.64rem;color:rgb(var(--text-muted))}.btr2-next b{font-size:.8rem;margin:.12rem 0}.btr2-next em{font-size:.68rem;font-style:normal;color:rgb(var(--p-500));font-weight:700}.btr2-path{padding:.45rem 1rem}.btr2-stop{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:.55rem;align-items:center;min-height:48px}.btr2-stop:before{content:"";position:absolute;left:7px;top:-50%;bottom:50%;width:1px;background:rgb(var(--border))}.btr2-stop:first-child:before{display:none}.btr2-dot{position:relative;z-index:1;width:9px;height:9px;margin-left:3px;border:2px solid rgb(var(--border));border-radius:50%;background:rgb(var(--bg-card))}.btr2-stop strong,.btr2-stop small{display:block}.btr2-stop strong{font-size:.76rem}.btr2-stop small{font-size:.65rem;color:rgb(var(--text-muted));margin-top:.12rem}.btr2-stop>a{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgb(var(--border));border-radius:.45rem;color:rgb(var(--text-muted))}.btr2-stop>a:hover{color:rgb(var(--p-500));border-color:rgb(var(--p-500)/.45)}.btr2-stop.is-current .btr2-dot{border-color:rgb(var(--p-500));background:rgb(var(--p-500));box-shadow:0 0 0 4px rgb(var(--p-500)/.1)}.btr2-stop.is-current strong{color:rgb(var(--p-500))}.btr2-empty{padding:2rem;text-align:center;color:rgb(var(--text-muted))}
@media(max-width:1000px){.btr2-layout{grid-template-columns:1fr}.btr2-controls{position:static}.btr2-routes{grid-template-columns:1fr}.btr2-head{align-items:flex-start;flex-direction:column}.btr2-map-tabs{width:100%}.btr2-map-tabs button{flex:1}}
@media(max-width:560px){.btr2-page{padding-left:.75rem;padding-right:.75rem}.btr2-route-head{grid-template-columns:1fr}.btr2-next{text-align:left;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem}.btr2-next small,.btr2-next b,.btr2-next em{display:inline}.btr2-clock{font-size:1.7rem}}
/* v801 BTR tracker: measured schedule states */
.btr2-stop.is-passed:not(.is-current){opacity:.48}
.btr2-stop.is-passed:not(.is-current) .btr2-dot{background:rgb(var(--border));border-color:rgb(var(--border))}
.btr2-route-head>div:first-child span{line-height:1.45}

/* ===== BTR tracker map v802 ===== */
.btr-map-page{height:calc(100vh - 48px);min-height:680px;display:grid;grid-template-columns:290px minmax(0,1fr);background:var(--bg,#f7f8fa);border-top:1px solid var(--border,#e5e7eb);overflow:hidden}
.btr-map-sidebar{position:relative;z-index:3;overflow:auto;padding:18px 16px 24px;border-right:1px solid var(--border,#e5e7eb);background:var(--card,#fff)}
.btr-map-heading h1{font-size:24px;line-height:1.15;margin:2px 0 8px;font-weight:800}.btr-map-heading p{font-size:12px;line-height:1.6;color:var(--text-muted,#64748b);margin:0}.btr-map-kicker{font-size:10px;font-weight:800;letter-spacing:.16em;color:rgb(var(--theme-rgb,59 130 246))}
.btr-map-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 0}.btr-map-tabs button,.btr-route-filters button,.btr-quick-times button,.btr-time-adjust button{height:34px;border:1px solid var(--border,#dbe1e8);border-radius:7px;background:transparent;color:var(--text,#111827);font-size:12px;cursor:pointer;transition:.15s}.btr-map-tabs button:hover,.btr-route-filters button:hover,.btr-quick-times button:hover,.btr-time-adjust button:hover{border-color:rgb(var(--theme-rgb,59 130 246))}.btr-map-tabs button.is-active,.btr-route-filters button.is-active{color:rgb(var(--theme-rgb,59 130 246));border-color:rgb(var(--theme-rgb,59 130 246));background:rgb(var(--theme-rgb,59 130 246)/.08)}
.btr-time-card{padding:14px;border:1px solid var(--border,#e5e7eb);border-radius:10px;background:var(--soft-bg,#f8fafc)}.btr-time-label{text-align:center;font-size:11px;color:var(--text-muted,#64748b)}.btr-time-display{text-align:center;font-variant-numeric:tabular-nums;font-size:42px;line-height:1.1;font-weight:800;letter-spacing:.04em;color:rgb(var(--theme-rgb,59 130 246));margin:5px 0 10px}.btr-time-edit{display:flex;align-items:center;justify-content:center;gap:6px}.btr-time-edit input{width:68px;height:38px;text-align:center;border:1px solid var(--border,#dbe1e8);border-radius:7px;background:var(--card,#fff);color:var(--text,#111827);font-weight:700}.btr-time-edit span{font-weight:800}.btr-main-action{width:100%;height:40px;margin-top:10px;border:0;border-radius:7px;background:rgb(var(--theme-rgb,59 130 246));color:#fff;font-weight:700;cursor:pointer}.btr-main-action i{margin-right:7px}.btr-time-adjust{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px}.btr-time-adjust button{height:30px;font-size:11px}
.btr-side-section{margin-top:17px}.btr-side-title{font-size:11px;font-weight:700;color:var(--text-muted,#64748b);margin-bottom:8px}.btr-route-filters,.btr-quick-times{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.btr-quick-times{grid-template-columns:repeat(4,1fr)}.btr-quick-times button{height:31px;font-size:10px}
.btr-current-list{display:flex;flex-direction:column;gap:7px}.btr-route-state{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;border:1px solid var(--border,#e5e7eb);border-radius:8px}.btr-route-state>i{width:7px;height:7px;border-radius:50%}.btr-route-state div{min-width:0;display:flex;flex-direction:column}.btr-route-state strong{font-size:12px}.btr-route-state span{font-size:10px;color:var(--text-muted,#64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btr-route-state em{font-style:normal;font-size:10px;color:var(--text-muted,#64748b);white-space:nowrap}.btr-data-note{margin-top:16px;font-size:10px;line-height:1.6;color:var(--text-muted,#64748b);padding:10px;border-left:2px solid rgb(var(--theme-rgb,59 130 246));background:rgb(var(--theme-rgb,59 130 246)/.05)}.btr-data-error{font-size:12px;color:#dc2626}
.btr-map-main{position:relative;min-width:0;background:var(--bg,#f6f7f9);overflow:hidden}.btr-map-toolbar{height:46px;position:absolute;z-index:5;left:12px;right:12px;top:10px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.btr-live-state,.btr-map-toolbar-actions{pointer-events:auto;display:flex;align-items:center;gap:8px}.btr-live-state{height:34px;padding:0 11px;border:1px solid var(--border,#e5e7eb);border-radius:8px;background:color-mix(in srgb,var(--card,#fff) 90%,transparent);backdrop-filter:blur(8px);font-size:11px}.btr-live-state i{width:7px;height:7px;border-radius:50%;background:#94a3b8}.btr-live-state.is-live i{background:#22c55e;box-shadow:0 0 0 4px rgb(34 197 94/.12)}.btr-map-toolbar-actions button{height:34px;min-width:34px;padding:0 10px;border:1px solid var(--border,#e5e7eb);border-radius:8px;background:color-mix(in srgb,var(--card,#fff) 90%,transparent);color:var(--text,#111827);cursor:pointer;backdrop-filter:blur(8px)}
.btr-map-viewport{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;background-image:linear-gradient(var(--border,#e5e7eb) 1px,transparent 1px),linear-gradient(90deg,var(--border,#e5e7eb) 1px,transparent 1px);background-size:36px 36px}.btr-map-viewport.is-dragging{cursor:grabbing}.btr-map-stage{position:absolute;left:50%;top:50%;width:min(96%,1700px);transform-origin:center center;translate:-50% -50%;user-select:none}.btr-map-stage>img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;image-rendering:auto}.btr-route-overlay,.btr-marker-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.btr-route-overlay{overflow:visible}.btr-marker-layer{z-index:2}
.btr-stop-pin{position:absolute;width:0;height:0;pointer-events:none}.btr-stop-pin i{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:block;width:8px;height:8px;border-radius:50%;background:rgb(var(--theme-rgb,59 130 246));border:2px solid #fff;box-shadow:0 1px 5px rgb(0 0 0/.35)}.btr-stop-pin span{position:absolute;left:10px;top:0;transform:translateY(-50%);display:block;padding:2px 5px;border-radius:4px;background:rgb(15 23 42/.78);color:#fff;font-size:9px;font-weight:700;white-space:nowrap;text-shadow:0 1px 2px #000}
.btr-moving{position:absolute;z-index:10;transform:translate(-50%,-50%);transition:left .12s linear,top .12s linear;pointer-events:none}.btr-vehicle{width:34px;height:34px;border:2px solid #fff;border-radius:8px;display:grid;place-items:center;background:var(--btr-route-color);color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--btr-route-color) 25%,transparent),0 5px 14px rgb(0 0 0/.35);font-size:16px}.btr-moving-label{position:absolute;left:50%;bottom:40px;transform:translateX(-50%);min-width:108px;padding:4px 7px;border:1px solid color-mix(in srgb,var(--btr-route-color) 65%,#fff);border-radius:5px;background:rgb(15 23 42/.88);color:#fff;text-align:center;white-space:nowrap;box-shadow:0 3px 10px rgb(0 0 0/.25)}.btr-moving-label b{display:block;font-size:9px;color:var(--btr-route-color)}.btr-moving-label span{display:block;font-size:8px;margin-top:1px}
.btr-map-bottom{position:absolute;z-index:4;left:12px;right:12px;bottom:10px;display:flex;align-items:center;gap:14px;pointer-events:none;color:var(--text-muted,#64748b);font-size:10px}.btr-map-bottom span{padding:5px 8px;border:1px solid var(--border,#e5e7eb);border-radius:6px;background:color-mix(in srgb,var(--card,#fff) 88%,transparent);backdrop-filter:blur(8px)}
html.dark .btr-map-page,body.dark .btr-map-page,[data-theme="dark"] .btr-map-page{--bg:#0b0f14;--card:#0f141b;--soft-bg:#0c1118;--border:#27313d;--text:#f8fafc;--text-muted:#9aa8b7}.dark .btr-map-viewport,[data-theme="dark"] .btr-map-viewport{background-image:linear-gradient(#1a222c 1px,transparent 1px),linear-gradient(90deg,#1a222c 1px,transparent 1px)}.dark .btr-map-stage>img,[data-theme="dark"] .btr-map-stage>img{opacity:.82}
@media(max-width:900px){.btr-map-page{height:auto;min-height:calc(100vh - 48px);display:block;overflow:visible}.btr-map-sidebar{border-right:0;border-bottom:1px solid var(--border,#e5e7eb);max-height:none}.btr-map-main{height:72vh;min-height:520px}.btr-map-stage{width:96%}.btr-time-display{font-size:34px}.btr-map-bottom span:last-child{display:none}}

/* ===== BTR tracker v804: site-width layout + manual geometry ===== */
.btr-page-wrap{width:min(1500px,calc(100% - 32px));margin:18px auto 28px}
.btr-page-wrap .btr-map-page{height:820px;min-height:720px;grid-template-columns:300px minmax(0,1fr);border:1px solid var(--border,#e5e7eb);border-radius:12px;overflow:hidden;background:var(--bg,#f7f8fa)}
.btr-page-wrap .btr-map-main{min-height:0}
.btr-page-wrap .btr-map-viewport{inset:0;background-color:var(--bg,#f6f7f9)}
.btr-page-wrap .btr-map-stage{left:50%;top:50%;transform-origin:center center;translate:-50% -50%;will-change:auto}
.btr-page-wrap .btr-map-stage>img{display:block;width:100%;height:100%;object-fit:contain;opacity:1!important;filter:none!important;image-rendering:auto}
.btr-page-wrap .btr-route-overlay,.btr-page-wrap .btr-marker-layer{inset:0;width:100%;height:100%}
.dark .btr-page-wrap .btr-map-stage>img,[data-theme="dark"] .btr-page-wrap .btr-map-stage>img{opacity:1!important}
@media(max-width:1100px){.btr-page-wrap{width:min(100% - 20px,1500px)}.btr-page-wrap .btr-map-page{grid-template-columns:270px minmax(0,1fr)}}
@media(max-width:900px){.btr-page-wrap{width:100%;margin:0}.btr-page-wrap .btr-map-page{height:auto;min-height:calc(100vh - 48px);display:block;border-left:0;border-right:0;border-radius:0}.btr-page-wrap .btr-map-main{height:70vh;min-height:520px}.btr-page-wrap .btr-map-stage{max-width:none}}

/* ===== BTR tracker v813: reuse interactive-map marker + zoom behavior ===== */
.btr-page-wrap .btr-map-stage{
  position:absolute;
  left:0;
  top:0;
  translate:none;
  transform-origin:0 0;
  will-change:transform;
}
.btr-page-wrap .btr-map-stage>img{
  display:block;
  max-width:none;
  max-height:none;
  object-fit:fill;
  user-select:none;
}
.btr-page-wrap .btr-route-overlay,
.btr-page-wrap .btr-marker-layer{
  position:absolute;
  left:0;
  top:0;
  inset:auto;
  pointer-events:none;
}
.btr-page-wrap .btr-marker-layer .map-marker{
  z-index:4;
  pointer-events:none;
}
.btr-stop-octagon{
  width:30px;
  height:30px;
  display:block;
  background:#dc2f25;
  border:3px solid #fff;
  clip-path:polygon(29% 0,71% 0,100% 29%,100% 71%,71% 100%,29% 100%,0 71%,0 29%);
  box-shadow:0 2px 7px rgb(0 0 0/.35);
}
.btr-page-wrap .btr-stop-map-marker .map-marker-title{
  bottom:calc(100% + 6px);
}
.btr-page-wrap .btr-map-zoom{
  right:16px;
  bottom:16px;
  z-index:8;
}
.btr-page-wrap .btr-map-viewport{
  touch-action:none;
  cursor:grab;
}
.btr-page-wrap .btr-map-viewport:active{cursor:grabbing}

/* ===== BTR tracker v814: exact map-page marker visual + stable zoom canvas ===== */
.btr-page-wrap .btr-map-stage{
  position:absolute;
  left:0;
  top:0;
  translate:none;
  transform-origin:0 0;
  will-change:transform;
}
.btr-page-wrap .btr-map-stage>img{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none;
  max-height:none;
  object-fit:fill;
  user-select:none;
  pointer-events:none;
  opacity:1!important;
  filter:none!important;
}
.btr-page-wrap .btr-route-overlay,
.btr-page-wrap .btr-marker-layer{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  pointer-events:none;
}
.btr-page-wrap .btr-stop-map-marker{
  width:32px;
  height:32px;
  min-width:32px;
  min-height:32px;
  display:block;
  transform:translate(-50%,-50%);
  overflow:visible;
  z-index:4;
  pointer-events:none;
}
.btr-page-wrap .btr-stop-map-marker .map-marker-icon,
.btr-page-wrap .btr-stop-map-marker .map-marker-icon img{
  width:32px;
  height:32px;
  display:block;
  object-fit:contain;
}
.btr-page-wrap .btr-stop-map-marker .map-marker-title{
  position:absolute;
  left:50%;
  bottom:calc(100% + 6px);
  transform:translateX(-50%);
}
.btr-stop-octagon{display:none!important}


/* ===== BTR tracker v822: compact route badge above vehicle ===== */
.btr-page-wrap .btr-moving{z-index:12}
.btr-page-wrap .btr-moving-label{
  position:absolute;
  left:50%;
  bottom:42px;
  transform:translateX(-50%);
  min-width:0;
  padding:4px 8px;
  border:1px solid rgba(255,255,255,.92);
  border-radius:5px;
  background:var(--btr-route-color);
  color:#fff;
  box-shadow:0 2px 7px rgba(0,0,0,.22);
  font-size:12px;
  line-height:1.15;
  font-weight:700;
  text-align:center;
  white-space:nowrap;
  opacity:1;
  filter:none;
  backdrop-filter:none;
  text-shadow:none;
}
.btr-page-wrap .btr-vehicle{
  width:36px;
  height:36px;
  font-size:17px;
}

/* ===== BTR tracker v824: unified site-card design ===== */
.btr-v2-page{width:min(1500px,calc(100% - 32px));margin:22px auto 30px;color:rgb(var(--text))}
.btr-v2-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
.btr-v2-title{display:flex;align-items:center;gap:12px;min-width:0}.btr-v2-title-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:rgb(var(--p-500)/.12);color:rgb(var(--p-500));font-size:18px;flex:none}.btr-v2-title h1{font-size:22px;line-height:1.2;font-weight:800;margin:0}.btr-v2-title p{margin:4px 0 0;color:rgb(var(--text-muted));font-size:13px}
.btr-v2-map-tabs{display:flex;gap:8px;flex:none}.btr-v2-map-tabs button,.btr-v2-filter-row button,.btr-v2-quick-times button,.btr-v2-secondary{height:36px;padding:0 14px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--bg-card));color:rgb(var(--text));font-size:13px;font-weight:600;cursor:pointer;transition:.15s}.btr-v2-map-tabs button:hover,.btr-v2-filter-row button:hover,.btr-v2-quick-times button:hover,.btr-v2-secondary:hover{border-color:rgb(var(--p-500)/.55)}.btr-v2-map-tabs button.is-active,.btr-v2-filter-row button.is-active{background:rgb(var(--p-500));border-color:rgb(var(--p-500));color:#fff}
.btr-v2-control-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--bg-card));margin-bottom:12px}.btr-v2-time-control{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btr-v2-time-control>strong{font-size:14px;margin-right:2px}.btr-v2-time-inputs{display:flex;align-items:center;gap:5px}.btr-v2-time-inputs input{width:58px;height:40px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--bg-card-soft));color:rgb(var(--text));text-align:center;font-size:16px;font-weight:700;outline:none}.btr-v2-time-inputs input:focus{border-color:rgb(var(--p-500))}.btr-v2-time-inputs span{font-weight:800}.btr-v2-primary{height:40px;padding:0 16px;border:0;border-radius:8px;background:rgb(var(--p-500));color:#fff;font-weight:700;cursor:pointer}.btr-v2-primary i{margin-right:6px}.btr-v2-quick-times{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.btr-v2-quick-times button{min-width:58px;padding:0 10px}
.btr-v2-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:12px}.btr-v2-stat-card{padding:15px 16px;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--bg-card));min-height:92px}.btr-v2-stat-card>span{display:block;color:rgb(var(--text-muted));font-size:12px;margin-bottom:7px}.btr-v2-stat-card strong{display:block;font-size:18px;line-height:1.25}.btr-v2-stat-card small{display:block;color:rgb(var(--text-muted));font-size:12px;margin-top:6px}
.btr-v2-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.btr-v2-filter-row button{height:34px;padding:0 13px}
.btr-v2-map-card{border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--bg-card));overflow:hidden}.btr-v2-map-head{height:50px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;border-bottom:1px solid rgb(var(--border));background:rgb(var(--bg-card))}.btr-v2-map-head>div{font-size:15px}.btr-v2-map-head strong{font-size:16px}.btr-v2-map-head em{font-style:normal;color:rgb(var(--p-500));font-weight:700;margin-left:7px}.btr-v2-map-head small{color:rgb(var(--text-muted));font-size:12px;text-align:right}
.btr-v2-map-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;min-height:690px}.btr-v2-map-grid .btr-map-main{position:relative;min-width:0;min-height:690px;background:rgb(var(--bg-card-soft));border-right:1px solid rgb(var(--border));overflow:hidden}.btr-v2-map-grid .btr-map-viewport{position:absolute;inset:0;background:rgb(var(--bg-card-soft));background-image:none}.btr-v2-map-grid .btr-map-toolbar{top:10px;left:10px;right:10px}.btr-v2-map-grid .btr-map-bottom{left:12px;bottom:10px;right:auto}.btr-v2-map-grid .btr-map-bottom span{background:rgb(var(--bg-card));border-color:rgb(var(--border));color:rgb(var(--text-muted));backdrop-filter:none}
.btr-v2-route-panel{background:rgb(var(--bg-card));min-width:0}.btr-v2-route-panel-head{display:flex;align-items:center;gap:10px;height:50px;padding:0 16px;border-bottom:1px solid rgb(var(--border))}.btr-v2-route-panel-head strong{font-size:15px}.btr-v2-route-panel-head span{font-size:12px;color:rgb(var(--text-muted))}.btr-v2-route-panel .btr-current-list{padding:10px 14px;gap:0}.btr-v2-route-panel .btr-route-state{grid-template-columns:8px minmax(0,1fr) auto;border:0;border-bottom:1px solid rgb(var(--border));border-radius:0;padding:12px 0}.btr-v2-route-panel .btr-route-state:last-child{border-bottom:0}.btr-v2-route-panel .btr-route-state strong{font-size:14px}.btr-v2-route-panel .btr-route-state span,.btr-v2-route-panel .btr-route-state em{font-size:12px}.btr-v2-route-panel .btr-data-note{margin:8px 14px 14px;padding:10px 12px;border-radius:8px;border-left:3px solid rgb(var(--p-500));background:rgb(var(--p-500)/.07)}
.btr-v2-page .btr-map-stage>img{opacity:1!important;filter:none!important}.btr-v2-page .btr-live-state,.btr-v2-page .btr-map-toolbar-actions button{background:rgb(var(--bg-card));border-color:rgb(var(--border));color:rgb(var(--text));backdrop-filter:none;box-shadow:0 2px 8px rgb(0 0 0/.08)}
.btr-v2-page .btr-map-zoom{right:14px;bottom:14px}.btr-v2-page .btr-map-zoom button{background:rgb(var(--bg-card));border-color:rgb(var(--border));color:rgb(var(--text))}
.btr-v2-page .btr-moving-label{font-size:11px;padding:3px 7px;border-radius:5px;bottom:40px}.btr-v2-page .btr-route-overlay polyline{stroke-width:5}
html.dark .btr-v2-page,body.dark .btr-v2-page,[data-theme="dark"] .btr-v2-page{color:rgb(var(--text))}.dark .btr-v2-page .btr-map-stage>img,[data-theme="dark"] .btr-v2-page .btr-map-stage>img{opacity:1!important}.dark .btr-v2-page .btr-map-main,[data-theme="dark"] .btr-v2-page .btr-map-main,.dark .btr-v2-page .btr-map-viewport,[data-theme="dark"] .btr-v2-page .btr-map-viewport{background:rgb(var(--bg-card-soft))}
@media(max-width:1100px){.btr-v2-page{width:min(100% - 20px,1500px)}.btr-v2-map-grid{grid-template-columns:minmax(0,1fr) 280px}.btr-v2-control-card{align-items:flex-start;flex-direction:column}.btr-v2-quick-times{justify-content:flex-start}}
@media(max-width:900px){.btr-v2-page{width:100%;margin:0;padding:12px}.btr-v2-head{align-items:flex-start;flex-direction:column}.btr-v2-map-tabs{width:100%}.btr-v2-map-tabs button{flex:1}.btr-v2-stats{grid-template-columns:1fr}.btr-v2-map-grid{display:block;min-height:0}.btr-v2-map-grid .btr-map-main{height:68vh;min-height:520px;border-right:0;border-bottom:1px solid rgb(var(--border))}.btr-v2-route-panel{min-height:180px}.btr-v2-map-head{height:auto;min-height:50px;padding:10px 14px;align-items:flex-start}.btr-v2-map-head small{max-width:45%}.btr-v2-time-control>strong{width:100%}.btr-v2-quick-times{width:100%}.btr-v2-quick-times button{flex:1;min-width:58px}}

/* BTR v825 control sizing + header alignment */
.btr-v2-time-inputs input{width:58px;height:36px;font-size:13px;font-weight:700;padding:0 8px}
.btr-v2-primary{height:36px;padding:0 12px;font-size:13px;border-radius:8px}
.btr-v2-primary i{margin-right:5px}
.btr-v2-route-inline-head{display:flex;align-items:center;gap:10px;justify-content:flex-end;white-space:nowrap}
.btr-v2-route-inline-head strong{font-size:15px}
.btr-v2-route-inline-head span{font-size:12px;color:rgb(var(--text-muted))}
.btr-v2-route-panel .btr-current-list{padding-top:6px}
.btr-v2-map-bottom{gap:0}
@media(max-width:900px){.btr-v2-route-inline-head{white-space:normal;justify-content:flex-start}.btr-v2-route-inline-head span{display:none}}

/* BTR v826: stable tracking button + aligned route header */
.btr-v2-primary{
  width:96px;
  min-width:96px;
  padding:0 8px;
  justify-content:center;
  white-space:nowrap;
}
.btr-v2-map-head{
  padding:0 0 0 16px;
}
.btr-v2-route-inline-head{
  width:330px;
  height:100%;
  flex:none;
  box-sizing:border-box;
  justify-content:flex-start;
  padding:0 16px;
  border-left:1px solid rgb(var(--border));
  text-align:left;
}
@media(max-width:1100px){
  .btr-v2-route-inline-head{width:280px}
}
@media(max-width:900px){
  .btr-v2-map-head{padding:10px 14px}
  .btr-v2-route-inline-head{
    width:auto;
    height:auto;
    padding:0;
    border-left:0;
  }
}

/* BTR v827: reset in map header + route note aligned right */
.btr-v2-map-head-main{
  flex:1;
  min-width:0;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-right:12px;
}
.btr-v2-head-reset{
  height:34px;
  padding:0 12px;
  border:1px solid rgb(var(--border));
  border-radius:8px;
  background:rgb(var(--bg-card));
  color:rgb(var(--text));
  font-size:14px;
  cursor:pointer;
  flex:none;
}
.btr-v2-head-reset:hover{border-color:rgb(var(--p-400));}
.btr-v2-route-inline-head span{
  margin-left:auto;
  text-align:right;
}
@media(max-width:900px){
  .btr-v2-map-head-main{width:100%;height:auto;padding-right:0;}
  .btr-v2-head-reset{height:32px;}
  .btr-v2-route-inline-head span{display:none;}
}


/* BTR v828: tighter desktop header + rebuilt mobile layout */
.btr-v2-map-head-main{
  padding-right:0;
}
.btr-v2-head-reset{
  margin-right:0;
}

@media(max-width:900px){
  /* title + map tabs share one compact row */
  .btr-v2-head{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:12px;
  }
  .btr-v2-title{gap:9px;min-width:0;flex:1;}
  .btr-v2-title-icon{width:38px;height:38px;border-radius:9px;font-size:16px;}
  .btr-v2-title h1{font-size:20px;white-space:nowrap;}
  .btr-v2-title p{display:none!important;}
  .btr-v2-map-tabs{
    width:auto;
    flex:none;
    gap:5px;
  }
  .btr-v2-map-tabs button{
    flex:none;
    height:32px;
    min-width:46px;
    padding:0 9px;
    border-radius:7px;
    font-size:12px;
  }

  /* time controls become a clean compact card */
  .btr-v2-control-card{
    padding:12px;
    gap:12px;
    margin-bottom:10px;
  }
  .btr-v2-time-control{
    width:100%;
    display:grid;
    grid-template-columns:auto auto 96px;
    align-items:center;
    justify-content:start;
    gap:8px;
  }
  .btr-v2-time-control>strong{
    width:auto;
    margin:0;
    white-space:nowrap;
    font-size:13px;
  }
  .btr-v2-time-inputs input{width:58px;height:34px;}
  .btr-v2-primary{height:34px;width:96px;min-width:96px;font-size:12px;}
  .btr-v2-quick-times{
    width:100%;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
  }
  .btr-v2-quick-times button{
    width:100%;
    min-width:0;
    height:34px;
    padding:0 4px;
    font-size:12px;
  }

  /* avoid three tall stacked cards and ragged empty space */
  .btr-v2-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    margin-bottom:10px;
  }
  .btr-v2-stat-card{
    min-height:84px;
    padding:10px;
    border-radius:10px;
  }
  .btr-v2-stat-card>span{font-size:11px;margin-bottom:5px;}
  .btr-v2-stat-card strong{font-size:15px;line-height:1.25;overflow-wrap:anywhere;}
  .btr-v2-stat-card small{font-size:10px;line-height:1.35;margin-top:5px;}

  /* one clean horizontal filter strip instead of an orphan R5 row */
  .btr-v2-filter-row{
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:6px;
    margin-bottom:10px;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .btr-v2-filter-row::-webkit-scrollbar{display:none;}
  .btr-v2-filter-row button{
    flex:none;
    height:32px;
    padding:0 11px;
    font-size:12px;
  }

  /* mobile map header: prediction at left, reset at right; no route-status title */
  .btr-v2-map-head{
    min-height:48px;
    padding:8px 10px;
    display:block;
  }
  .btr-v2-map-head-main{
    width:100%;
    min-height:32px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:0;
  }
  .btr-v2-map-head-main>div{min-width:0;white-space:nowrap;font-size:13px;}
  .btr-v2-map-head-main strong{font-size:14px;}
  .btr-v2-map-head-main em{margin-left:4px;font-size:13px;}
  .btr-v2-head-reset{height:32px;padding:0 11px;font-size:12px;}
  .btr-v2-route-inline-head{display:none!important;}

  /* route list under map stays compact and regular */
  .btr-v2-route-panel{min-height:0;}
  .btr-v2-route-panel .btr-current-list{padding:6px 10px;}
  .btr-v2-route-panel .btr-route-state{padding:9px 0;}
}

@media(max-width:560px){
  .btr-v2-page{padding:10px;}
  .btr-v2-title-icon{width:34px;height:34px;font-size:14px;}
  .btr-v2-title h1{font-size:18px;}
  .btr-v2-map-tabs button{min-width:42px;padding:0 7px;height:30px;}
  .btr-v2-time-control{grid-template-columns:1fr auto 96px;}
  .btr-v2-time-control>strong{grid-column:1/-1;}
  .btr-v2-stats{grid-template-columns:1fr;gap:7px;}
  .btr-v2-stat-card{min-height:0;padding:10px 12px;}
  .btr-v2-stat-card small{margin-top:3px;}
}

/* BTR v829: align mobile raid-time controls on one row */
@media(max-width:560px){
  .btr-v2-time-control{
    grid-template-columns:auto auto 96px;
    align-items:center;
    justify-content:start;
    column-gap:8px;
    row-gap:0;
  }
  .btr-v2-time-control>strong{
    grid-column:auto;
    align-self:center;
    margin:0;
    line-height:34px;
  }
  .btr-v2-time-inputs{
    align-self:center;
  }
  .btr-v2-time-inputs input,
  .btr-v2-primary{
    height:34px;
  }
}

/* BTR v830: match site title icon + center mobile raid-time row */
.btr-v2-title-icon{
  width:auto;
  height:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:0;
  background:transparent;
  color:rgb(var(--p-500));
  font-size:20px;
  flex:none;
}

@media(max-width:900px){
  .btr-v2-title-icon{
    width:auto;
    height:auto;
    border-radius:0;
    background:transparent;
    font-size:18px;
  }
}

@media(max-width:560px){
  .btr-v2-title-icon{
    width:auto;
    height:auto;
    font-size:18px;
  }
  .btr-v2-time-control{
    width:100%;
    grid-template-columns:auto auto 96px;
    justify-content:center;
    align-items:center;
    column-gap:8px;
  }
}

/* BTR v832: align page frame/title spacing with standard 1500px site pages (e.g. BOSS spawn) */
.btr-v2-page{
  width:100%;
  max-width:1500px;
  margin:0 auto;
  padding:2rem 1rem;
  box-sizing:border-box;
}
.btr-v2-head{
  align-items:center;
  gap:1rem;
  margin-bottom:1rem;
}
.btr-v2-title{
  gap:.65rem;
}
.btr-v2-title h1{
  margin:0;
  font-size:1.5rem;
  line-height:1.25;
  font-weight:700;
}
.btr-v2-title-icon{
  font-size:1.5rem;
  line-height:1;
}

@media(max-width:1100px){
  .btr-v2-page{
    width:100%;
    max-width:1500px;
    margin:0 auto;
    padding:2rem 1rem;
  }
}

@media(max-width:900px){
  .btr-v2-page{
    width:100%;
    margin:0;
    padding:1.25rem .625rem;
  }
  .btr-v2-head{
    margin-bottom:1rem;
  }
  .btr-v2-title h1{
    font-size:1.35rem;
  }
  .btr-v2-title-icon{
    font-size:1.35rem;
  }
}

@media(max-width:560px){
  .btr-v2-page{
    padding:1.25rem .625rem;
  }
  .btr-v2-title h1{
    font-size:1.35rem;
  }
  .btr-v2-title-icon{
    font-size:1.35rem;
  }
}

/* BTR v833: map/route switch buttons match BOSS spawn mode tabs */
.btr-v2-map-tabs,
.btr-v2-filter-row{
  gap:.4rem;
}
.btr-v2-map-tabs button,
.btr-v2-filter-row button{
  height:auto;
  min-height:34px;
  padding:.4rem .75rem;
  border:1px solid rgb(var(--border));
  border-radius:.5rem;
  background:rgb(var(--bg-card));
  color:rgb(var(--text));
  font-size:.8rem;
  line-height:1.2;
  font-weight:600;
  box-shadow:none;
  transition:.15s;
}
.btr-v2-map-tabs button:hover,
.btr-v2-filter-row button:hover{
  border-color:rgb(var(--border));
  background:rgb(var(--bg-card));
  color:rgb(var(--text));
}
.btr-v2-map-tabs button.is-active,
.btr-v2-filter-row button.is-active{
  border-color:rgb(var(--p-500));
  background:rgb(var(--p-500)/.12);
  color:rgb(var(--p-500));
}
@media(max-width:900px){
  .btr-v2-map-tabs{gap:.3rem;}
  .btr-v2-map-tabs button,
  .btr-v2-filter-row button{
    min-height:32px;
    padding:.35rem .6rem;
  }
}


/* v842: membership activation-code redemption – match site member action + modal */
.profile-member-redeem{background:rgb(var(--p-500))!important;color:#fff!important;border:1px solid rgb(var(--p-500))!important;transition:filter .15s ease,opacity .15s ease}
.profile-member-redeem:hover{background:rgb(var(--p-500))!important;color:#fff!important;border-color:rgb(var(--p-500))!important;filter:brightness(.94)}
.profile-member-redeem i{color:#fff!important}
.member-redeem-open{overflow:hidden}
.member-redeem-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:1rem;color:rgb(var(--text))}
.member-redeem-modal[hidden]{display:none!important}
.member-redeem-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(3px)}
.member-redeem-panel{position:relative;z-index:1;width:min(480px,100%);overflow:hidden;background:rgb(var(--bg-card));color:rgb(var(--text));border:1px solid rgb(var(--border));border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.35);padding:0}
.member-redeem-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:18px 20px;border-bottom:1px solid rgb(var(--border))}
.member-redeem-head h3{margin:0;font-size:18px;font-weight:700;line-height:1.35;color:rgb(var(--text))}
.member-redeem-head p{margin:.35rem 0 0;color:rgb(var(--text-muted));font-size:12px;line-height:1.6}
.member-redeem-close{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:rgb(var(--text-muted));transition:background .15s,color .15s}
.member-redeem-close:hover{background:rgb(var(--bg-card-soft));color:rgb(var(--text))}
#memberRedeemForm{padding:18px 20px 0}
#memberRedeemForm label{display:block;margin:0 0 8px;font-size:13px;font-weight:600;color:rgb(var(--text))}
#memberRedeemCode{width:100%;height:42px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--bg-card-soft));color:rgb(var(--text));padding:0 12px;font:600 15px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em;outline:none;text-transform:uppercase}
#memberRedeemCode::placeholder{color:rgb(var(--text-muted))}
#memberRedeemCode:focus{border-color:rgb(var(--p-500));box-shadow:0 0 0 3px rgb(var(--p-500)/.12);background:rgb(var(--bg-card))}
.member-redeem-actions{display:flex;justify-content:flex-end;gap:8px;margin:18px -20px 0;padding:14px 20px;border-top:1px solid rgb(var(--border));background:rgb(var(--bg-card-soft))}
.member-redeem-actions button{height:36px;min-width:72px;padding:0 15px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--bg-card));color:rgb(var(--text));font-size:13px;font-weight:600}
.member-redeem-actions button:hover{background:rgb(var(--bg-card-soft))}
.member-redeem-actions .is-primary{border-color:rgb(var(--p-500));background:rgb(var(--p-500));color:#fff}
.member-redeem-actions .is-primary:hover{background:rgb(var(--p-500));filter:brightness(.95)}
.member-redeem-actions button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:640px){.member-redeem-modal{padding:14px}.member-redeem-panel{width:100%;border-radius:14px}.member-redeem-head{padding:16px}.member-redeem-head p{font-size:11px}#memberRedeemForm{padding:16px 16px 0}.member-redeem-actions{margin:16px -16px 0;padding:12px 16px}}


/* v852: permanent member actions + mobile member status layout */
.profile-member-status-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.profile-member-status-main{display:flex;align-items:center;gap:6px;min-width:0}
.profile-member-status-side{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0;margin-left:auto}
.profile-member-benefit{white-space:nowrap}
.profile-member-buttons{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.profile-member-buttons .profile-member-action{height:34px;min-width:88px;padding:0 12px;white-space:nowrap}
@media(max-width:600px){
  .profile-member-status-card{display:grid;grid-template-columns:1fr;gap:12px;padding:16px!important}
  .profile-member-status-main{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:6px}
  .profile-member-status-side{width:100%;margin-left:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
  .profile-member-benefit{white-space:normal;line-height:1.45}
  .profile-member-buttons{gap:8px}
  .profile-member-buttons .profile-member-action{height:36px;min-width:82px;padding:0 10px}
}

/* v853: mobile membership status card — separate status / benefit / actions for cleaner rhythm */
@media(max-width:600px){
  .profile-member-status-card{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    padding:0!important;
    overflow:hidden;
  }
  .profile-member-status-main{
    width:100%;
    min-height:52px;
    padding:0 16px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:6px;
    border-bottom:1px solid rgb(var(--border));
  }
  .profile-member-status-main > span:last-child{
    margin-left:auto;
    white-space:nowrap;
  }
  .profile-member-status-side{
    width:100%;
    margin:0;
    padding:14px 16px 16px;
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    align-items:stretch;
  }
  .profile-member-benefit{
    display:block;
    width:100%;
    white-space:normal;
    line-height:1.55;
  }
  .profile-member-buttons{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .profile-member-buttons .profile-member-action{
    width:100%;
    min-width:0;
    height:36px;
    padding:0 8px;
  }
}

/* v854: mobile payment flow */
.member-wechat-mobile-icon{width:3rem;height:3rem;border-radius:50%;margin:0 auto .75rem;display:flex;align-items:center;justify-content:center;background:rgba(7,193,96,.10);color:#07c160;font-size:1.7rem}
.member-wechat-open-primary{background:#07c160!important;border-color:#07c160!important;color:#fff!important;font-weight:700;min-width:10rem;justify-content:center}
.member-wechat-mobile-note{margin-top:.75rem;font-size:.75rem;color:rgb(var(--muted))}
@media (max-width: 767px){
  .member-order-page{padding-top:1.25rem!important;padding-bottom:2rem!important}
  .member-order-card{padding:1rem}
  .member-order-head{align-items:center}
  .member-order-head h1{font-size:1.05rem}
  .member-order-head strong{font-size:1.35rem}
  .member-wechat-pay{padding:1.25rem 0 .75rem}
  .member-wechat-pay canvas{width:min(72vw,260px)!important;height:min(72vw,260px)!important}
  .member-wechat-open{min-height:2.75rem;padding:.65rem 1rem}
}

/* v856: 手机端微信支付不再尝试 H5/小程序拉起，统一提示电脑端扫码或支付宝 */
.member-mobile-pay-notice{display:flex;align-items:flex-start;gap:.8rem;border:1px solid rgb(var(--border));background:rgb(var(--soft));border-radius:.85rem;padding:.9rem 1rem;color:rgb(var(--text))}
.member-mobile-pay-notice>i{color:#07c160;font-size:1.25rem;line-height:1.4;margin-top:.05rem}
.member-mobile-pay-notice>div{display:flex;flex-direction:column;gap:.22rem;min-width:0}
.member-mobile-pay-notice strong{font-size:.9rem}
.member-mobile-pay-notice span{font-size:.8rem;line-height:1.6;color:rgb(var(--muted))}
.member-pay-wechat-mobile-disabled{opacity:.58!important;cursor:not-allowed!important;background:rgb(var(--soft))!important;color:rgb(var(--muted))!important;border-color:rgb(var(--border))!important}
.member-mobile-pay-notice-order{max-width:560px;margin:0 auto;text-align:left}
@media(min-width:601px){.member-mobile-pay-notice:not(.member-mobile-pay-notice-order){display:none}}


/* v858: simplify membership card; permanent/admin accounts show permanent status at the right */
.profile-member-expiry{margin-left:auto;white-space:nowrap}
@media(max-width:600px){
  .profile-member-status-card:not(.has-actions){padding:0!important}
  .profile-member-status-card:not(.has-actions) .profile-member-status-main{border-bottom:0}
  .profile-member-status-card.has-actions .profile-member-status-main{border-bottom:1px solid rgb(var(--border))}
  .profile-member-status-side{padding-top:12px}
}

/* v859: desktop permanent/admin membership label stays on the far right */
@media(min-width:601px){
  .profile-member-status-card:not(.has-actions) .profile-member-status-main{width:100%}
}

/* v861: profile mode/member cards use two columns on desktop, one column on mobile */
.profile-summary-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-bottom:24px;
}
.profile-summary-row .profile-mode-card,
.profile-summary-row .profile-member-status-card{
  margin-bottom:0!important;
  min-height:58px;
}
@media(max-width:767px){
  .profile-summary-row{
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:24px;
  }
}


/* v867: membership badge beside usernames in comments / guestbook */
.member-name-line {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    max-width: 100%;
    line-height: 1.25;
}
.member-name-badge {
    display: block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    object-fit: contain;
}

/* v878 地图组队 */
.map-team-button{white-space:nowrap}.map-team-modal{position:fixed;inset:0;z-index:10045;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.52);backdrop-filter:blur(4px)}.map-team-modal.is-open{display:flex}.map-team-dialog{width:min(520px,100%);border:1px solid rgb(var(--border));border-radius:16px;background:rgb(var(--bg-card));color:rgb(var(--text));padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.map-team-empty p{margin:12px 0 16px;color:rgb(var(--text-muted));line-height:1.7}.map-team-primary{width:100%;height:42px;border:0;border-radius:10px;background:rgb(var(--p-500));color:#fff;font-weight:700}.map-team-join{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.map-team-join input{height:42px;min-width:0;padding:0 12px;border:1px solid rgb(var(--border));border-radius:10px;background:rgb(var(--bg-card-soft));color:rgb(var(--text));font-size:16px;text-transform:uppercase;letter-spacing:.12em}.map-team-join button,.map-team-actions button{height:42px;padding:0 14px;border:1px solid rgb(var(--border));border-radius:10px;background:rgb(var(--bg-card-soft));color:rgb(var(--text))}.map-team-room-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:14px 0}.map-team-room-head small{display:block;color:rgb(var(--text-muted));font-size:12px}.map-team-room-head strong{display:block;margin-top:2px;font-size:28px;letter-spacing:.12em;font-variant-numeric:tabular-nums}.map-team-room-code-row{display:flex;align-items:center;gap:8px;margin-top:2px}.map-team-room-code-row strong{margin-top:0}.map-team-copy-code{height:32px;padding:0 10px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--bg-card-soft));color:rgb(var(--text));font-size:12px;white-space:nowrap;cursor:pointer}.map-team-copy-code:hover{border-color:rgb(var(--p-500));color:rgb(var(--p-500))}.map-team-copy-code.is-copied{border-color:rgb(var(--p-500));color:rgb(var(--p-500))}.map-team-room-head>span{padding:6px 9px;border:1px solid rgb(var(--border));border-radius:8px;font-size:13px}.map-team-members{display:grid;gap:8px}.map-team-member{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid rgb(var(--border));border-radius:10px;background:rgb(var(--bg-card-soft))}.map-team-member-dot{width:12px;height:12px;border-radius:50%;background:var(--team-color,#3b82f6);box-shadow:0 0 0 3px color-mix(in srgb,var(--team-color,#3b82f6) 20%,transparent)}.map-team-member-main{min-width:0}.map-team-member-main b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.map-team-member-main small{display:block;margin-top:2px;color:rgb(var(--text-muted));font-size:12px}.map-team-kick{height:30px;padding:0 9px;border:1px solid rgb(var(--border));border-radius:8px;color:rgb(var(--text-muted));font-size:12px}.map-team-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.map-team-actions .is-danger{border-color:#ef444455;color:#ef4444}.map-team-error{margin-top:10px;padding:9px 10px;border:1px solid #ef444455;border-radius:8px;background:#ef44440d;color:#ef4444;font-size:13px}.map-team-players{position:absolute;inset:0;z-index:12;pointer-events:none}.map-team-player{position:absolute;transform:translate(-50%,-35%);width:34px;height:48px;z-index:12;pointer-events:none}.map-team-player.is-stale{opacity:.42}.map-team-player.is-other-floor{opacity:.30}.map-team-player.is-other-floor.is-stale{opacity:.18}.map-team-player-direction{position:absolute;inset:0;transform:rotate(var(--team-heading,0deg));transform-origin:50% 35.4%;filter:drop-shadow(0 1px 3px #0009)}.map-team-player-direction svg{display:block;width:34px;height:48px;overflow:visible}.map-team-player-direction .team-pin-body{fill:var(--team-color,#f97316);stroke:#15181d;stroke-width:3;stroke-linejoin:round}.map-team-player-direction .team-pin-core{fill:#fff;stroke:#15181d;stroke-width:2}.map-team-player-label{position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 6px;border:1px solid rgba(120,120,120,.45);border-radius:5px;background:rgba(15,17,20,.94);color:#fff;font-size:11px}.map-floor .map-team-floor-count{margin-left:3px;color:rgb(var(--p-500));font-weight:700}
.map-live-team-player{position:absolute;z-index:11;transform:translate(-50%,-50%);width:34px;height:48px;pointer-events:none}.map-live-team-player.is-stale{opacity:.42}.map-live-team-player.is-other-floor{opacity:.30}.map-live-team-player.is-other-floor.is-stale{opacity:.18}.map-live-team-player .map-team-player-direction{position:absolute;inset:0}.map-live-team-player .map-team-player-label{bottom:calc(100% + 10px)}
@media(max-width:1023px){.map-team-button{display:none!important}.map-team-dialog{padding:16px}.map-team-room-head strong{font-size:24px}}


/* 独立悬浮地图：主地图页面跳转时保持小窗存活 */
body.map-floating-standalone{height:100vh!important;min-height:0!important;overflow:hidden!important;background:#0b0d10!important}
body.map-floating-standalone>#site-sticky-top,body.map-floating-standalone>header,body.map-floating-standalone>footer,body.map-floating-standalone>#back-to-top,body.map-floating-standalone>.back-to-top{display:none!important}
body.map-floating-standalone>main{flex:1!important;min-height:0!important;overflow:hidden!important}
body.map-floating-standalone .map-live-page{position:relative;width:100%;height:100%;max-width:none;margin:0;padding:0}
body.map-floating-standalone .map-live-viewport{width:100%;height:100%!important;min-height:0;border:0;border-radius:0;background:#0b0d10}
body.map-floating-standalone .map-live-toolbar{display:none!important}
body.map-floating-standalone .map-live-zoom{right:8px;top:8px}
body.map-floating-standalone .map-live-empty{font-size:13px;color:#d6d3d1;background:radial-gradient(circle at center,#151922 0,#0b0d10 72%)}


/* v898 手机实时地图：严格复用主地图昼夜背景；手机标题/状态同一行 */
html:not([data-mode="light"]) body:not(.map-floating-standalone) .map-live-viewport{
  background-color:#0b0d10;
  background-image:linear-gradient(#20242a 1px,transparent 1px),linear-gradient(90deg,#20242a 1px,transparent 1px);
  background-size:48px 48px;
}
html[data-mode="light"] body:not(.map-floating-standalone) .map-live-viewport{
  background-color:#f5f7f9;
  background-image:linear-gradient(#dce2e8 1px,transparent 1px),linear-gradient(90deg,#dce2e8 1px,transparent 1px);
  background-size:48px 48px;
}
body.map-floating-standalone .map-live-viewport{
  background-color:#0b0d10!important;
  background-image:linear-gradient(#20242a 1px,transparent 1px),linear-gradient(90deg,#20242a 1px,transparent 1px)!important;
  background-size:48px 48px!important;
}
@media(max-width:1023px){
  .map-live-page{padding:8px 0 12px}
  .map-live-toolbar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding-left:8px;padding-right:8px}
  .map-live-toolbar>div:first-child{width:auto;min-width:0}
  .map-live-toolbar h1{margin:0;font-size:18px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .map-live-meta{display:block;width:auto;min-width:0;margin:0;text-align:right}
  .map-live-meta span,#map-live-status{
    display:block;
    width:auto;
    max-width:58vw;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:rgb(var(--text));
    font-size:18px;
    font-weight:600;
    line-height:1.25;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .map-live-viewport{height:calc(100vh - 132px);min-height:420px;border:0;border-radius:0}
}

/* v899: 地图夜间色统一跟随全站中性黑灰主题，去掉独立蓝灰色 */
html:not([data-mode="light"]) .interactive-map{
  background:rgb(var(--bg));
  color:rgb(var(--text));
}
html:not([data-mode="light"]) .interactive-map .map-panel,
html:not([data-mode="light"]) .interactive-map .map-toolbar{
  background:rgb(var(--bg-card));
  border-color:rgb(var(--border));
}
html:not([data-mode="light"]) .interactive-map .map-panel-left{
  border-right-color:rgb(var(--border));
}
html:not([data-mode="light"]) .interactive-map .map-panel-right{
  border-left-color:rgb(var(--border));
}
html:not([data-mode="light"]) .interactive-map .map-panel-heading,
html:not([data-mode="light"]) .interactive-map .map-task{
  border-color:rgb(var(--border));
}
html:not([data-mode="light"]) .interactive-map .map-panel-heading h1,
html:not([data-mode="light"]) .interactive-map .map-panel-heading h2{
  color:rgb(var(--text));
}
html:not([data-mode="light"]) .interactive-map .map-panel-heading small,
html:not([data-mode="light"]) .interactive-map .map-task small,
html:not([data-mode="light"]) .interactive-map .map-empty,
html:not([data-mode="light"]) .interactive-map .map-panel-close{
  color:rgb(var(--text-muted));
}
html:not([data-mode="light"]) .interactive-map .map-toolbar button,
html:not([data-mode="light"]) .interactive-map .map-floor{
  border-color:rgb(var(--border-soft));
  color:rgb(var(--text-dim));
}
html:not([data-mode="light"]) .interactive-map .map-viewport{
  background-color:rgb(var(--bg));
  background-image:
    linear-gradient(rgb(var(--bg-card)) 1px,transparent 1px),
    linear-gradient(90deg,rgb(var(--bg-card)) 1px,transparent 1px);
}
html:not([data-mode="light"]) .interactive-map .map-zoom button{
  background:rgb(var(--bg-card));
  border-color:rgb(var(--border));
  color:rgb(var(--text));
}

/* 手机实时地图：夜间与主地图使用完全相同的背景/网格色 */
html:not([data-mode="light"]) body:not(.map-floating-standalone) .map-live-viewport{
  background-color:rgb(var(--bg));
  background-image:
    linear-gradient(rgb(var(--bg-card)) 1px,transparent 1px),
    linear-gradient(90deg,rgb(var(--bg-card)) 1px,transparent 1px);
}

/* 悬浮地图同样统一为中性黑灰，避免和主地图出现蓝黑色差 */
html:not([data-mode="light"]) body.map-floating-standalone,
html:not([data-mode="light"]) body.map-floating-standalone .map-live-viewport{
  background-color:rgb(var(--bg))!important;
  background-image:
    linear-gradient(rgb(var(--bg-card)) 1px,transparent 1px),
    linear-gradient(90deg,rgb(var(--bg-card)) 1px,transparent 1px)!important;
}
\n/* v902 三狗成员：固定使用 BOSS 立绘，并与右侧刷新位置地图等高 */
.goon-bottom-grid{align-items:stretch}
.goon-bottom-grid>.goon-members,.goon-bottom-grid>.goon-maps{height:100%}
.goon-members{display:flex;flex-direction:column}
.goon-members .goon-member-grid{flex:1;min-height:0;align-items:stretch}
.goon-members .goon-member-grid>a{display:flex;min-height:0;height:100%;flex-direction:column}
.goon-members .goon-member-grid>a>img{display:block!important;width:100%;height:100%;min-height:0;flex:1 1 0;object-fit:contain;object-position:center bottom;aspect-ratio:auto;background:rgb(var(--bg-card-soft))}
.goon-members .goon-member-grid>a>div{flex:0 0 auto}
@media(max-width:900px){.goon-bottom-grid>.goon-members,.goon-bottom-grid>.goon-maps{height:auto}.goon-members .goon-member-grid>a>img{display:block!important;height:auto!important;min-height:180px;aspect-ratio:2/3;object-fit:contain;object-position:center bottom}}
@media(max-width:520px){.goon-members .goon-member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.goon-members .goon-member-grid>a>img{display:block!important;width:100%;height:auto!important;min-height:0;aspect-ratio:2/3;object-fit:contain;object-position:center bottom}}


/* v904: 三狗立绘移动端强制可见，固定展示高度并完整等比例显示 */
@media(max-width:900px){
  .goon-members .goon-member-grid>a{display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important}
  .goon-members .goon-member-grid>a>img{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;height:240px!important;min-height:240px!important;max-height:240px!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center bottom!important;flex:none!important;background:rgb(var(--bg-card-soft))!important}
}
@media(max-width:520px){
  .goon-members .goon-member-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.4rem!important}
  .goon-members .goon-member-grid>a>img{height:180px!important;min-height:180px!important;max-height:180px!important}
}

/* v907 自定义页面导航：PC Mega Menu + 手机手风琴 */
.site-custom-nav{min-width:0}
.site-nav-main-link{height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border-radius:7px;color:rgb(var(--text));white-space:nowrap;transition:background-color .15s,color .15s}
.site-nav-main-link:hover,.site-nav-main-link.is-active,.site-nav-group.is-active>.site-nav-main-link{color:rgb(var(--p-500));background:rgb(var(--p-500)/.10)}
.site-nav-main-link i{font-size:9px;transition:transform .15s}
.site-nav-group{position:relative}
/* v908: bridge the visual gap between the top nav item and Mega Menu so hover is not lost */
.site-nav-group:has(.site-nav-dropdown)::after{content:"";position:absolute;left:0;top:100%;width:max(100%,220px);height:10px;z-index:59;background:transparent;pointer-events:auto}
.site-nav-group:hover>.site-nav-main-link i,.site-nav-group:focus-within>.site-nav-main-link i{transform:rotate(180deg)}
.site-nav-dropdown{position:absolute;left:0;top:100%;z-index:60;display:none;margin-top:7px;padding:10px;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--bg-card));box-shadow:0 18px 44px rgba(0,0,0,.24)}
.site-nav-group:hover .site-nav-dropdown,.site-nav-group:focus-within .site-nav-dropdown{display:grid}
.site-nav-mega{grid-auto-flow:row;gap:4px}
.site-nav-cols-1{grid-template-columns:minmax(190px,1fr);width:210px}
.site-nav-cols-2{grid-template-columns:repeat(2,minmax(150px,1fr));width:360px}
.site-nav-cols-3{grid-template-columns:repeat(3,minmax(145px,1fr));width:510px}
.site-nav-cols-4{grid-template-columns:repeat(4,minmax(140px,1fr));width:660px}
.site-nav-dropdown a{display:flex;align-items:center;min-height:36px;padding:7px 10px;border-radius:8px;color:rgb(var(--text));font-size:13px;line-height:1.25;white-space:normal;transition:background-color .14s,color .14s,transform .14s}
.site-nav-dropdown a:hover,.site-nav-dropdown a.is-active{color:rgb(var(--p-500));background:rgb(var(--p-500)/.10)}
.site-nav-dropdown a:hover{transform:translateX(2px)}
.site-nav-dropdown:before{content:"";position:absolute;left:20px;top:-6px;width:10px;height:10px;border-left:1px solid rgb(var(--border));border-top:1px solid rgb(var(--border));background:rgb(var(--bg-card));transform:rotate(45deg)}
@media(max-width:1180px){.site-nav-cols-4{grid-template-columns:repeat(3,minmax(140px,1fr));width:500px}}
.mobile-nav-group{border-radius:8px}
.mobile-nav-group.is-open{background:rgb(var(--bg-card-soft))}
.mobile-nav-parent-row{display:flex;align-items:center;gap:4px}
.mobile-nav-chevron{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;color:rgb(var(--text-muted));transition:background-color .15s,transform .15s}
.mobile-nav-chevron:hover{background:rgb(var(--p-500)/.08);color:rgb(var(--p-500))}
.mobile-nav-group.is-open .mobile-nav-chevron i{transform:rotate(180deg)}
.mobile-nav-chevron i{transition:transform .15s}
.mobile-nav-children{display:none;margin:1px 8px 7px 12px;padding:4px 0 2px 10px;border-left:1px solid rgb(var(--border))}
.mobile-nav-group.is-open .mobile-nav-children{display:grid;gap:2px}
.mobile-nav-child{display:block;padding:8px 10px;border-radius:6px;color:rgb(var(--text));font-size:13px;line-height:1.25}
.mobile-nav-child:hover,.mobile-nav-child.is-active{color:rgb(var(--p-500));background:rgb(var(--p-500)/.08)}


/* 地图画图工具：线条使用地图坐标，随地图缩放/拖动同步变化。 */
.map-draw-tools{position:absolute;left:16px;bottom:16px;display:grid;gap:5px;z-index:7}
.map-draw-tools button{width:82px;height:38px;border-radius:8px;background:rgb(var(--bg-card));border:1px solid rgb(var(--border));color:rgb(var(--text));box-shadow:0 2px 8px rgb(0 0 0/.08);display:flex;align-items:center;justify-content:center;gap:7px;padding:0 6px}

.map-draw-tools button i{width:16px;min-width:16px;text-align:center;line-height:1}
.map-draw-tools button:hover{border-color:rgb(var(--p-500));color:rgb(var(--p-500));background:rgb(var(--bg-card))}
.map-draw-tools button.is-active{border-color:rgb(var(--p-500));color:#fff;background:rgb(var(--p-500));box-shadow:0 2px 10px rgb(0 0 0/.18)}
.map-draw-layer{position:absolute;left:0;top:0;z-index:5;overflow:visible;pointer-events:none}
.map-draw-layer.is-interactive{pointer-events:auto!important;touch-action:none;cursor:crosshair}
.map-draw-hitbox{pointer-events:none}
.map-draw-layer.is-interactive .map-draw-hitbox{pointer-events:all}
.map-draw-stroke{fill:none;stroke:rgb(var(--p-500));stroke-width:8;stroke-linecap:round;stroke-linejoin:round;vector-effect:none;pointer-events:none}
.map-viewport.is-drawing{cursor:crosshair}
.map-viewport.is-drawing:active{cursor:crosshair}
html[data-mode="light"] .map-draw-tools button{background:#fff;border-color:#cbd5e1;color:#334155;box-shadow:0 2px 8px #0f172a1a}
html[data-mode="light"] .map-draw-tools button:hover{border-color:rgb(var(--p-500));color:rgb(var(--p-500));background:#fff}
html[data-mode="light"] .map-draw-tools button.is-active{border-color:rgb(var(--p-500));color:#fff;background:rgb(var(--p-500));box-shadow:0 2px 10px #0f172a26}

.map-tool-shortcut{font-size:10px;line-height:1;white-space:nowrap;color:inherit;opacity:.78;font-weight:600;letter-spacing:-.15px}
@media (max-width:939.98px){
  .map-draw-tools button{width:38px;height:38px;padding:0;display:flex;align-items:center;justify-content:center;gap:0}
  .map-draw-tools button i{width:16px;min-width:16px;text-align:center;margin:0}
  .map-tool-shortcut{display:none!important}
  .map-draw-tools .map-navigation-target-tool{display:none!important}
}

.map-live-drawings{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;overflow:hidden}
.map-live-drawings path{fill:none;stroke:rgb(var(--p-500));stroke-width:8;stroke-linecap:round;stroke-linejoin:round}

.map-ruler-line{stroke:rgb(var(--p-500));stroke-width:5;stroke-linecap:round;stroke-dasharray:14 10;fill:none;pointer-events:none}
.map-ruler-point{fill:rgb(var(--p-500));stroke:#fff;stroke-width:3;pointer-events:none}
.map-ruler-label-bg{fill:rgb(var(--bg-card));stroke:rgb(var(--border));stroke-width:2;rx:10;ry:10;pointer-events:none}
.map-ruler-label{fill:rgb(var(--text));font-size:26px;font-weight:700;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
html[data-mode="light"] .map-ruler-label-bg{fill:#fff;stroke:#cbd5e1}
html[data-mode="light"] .map-ruler-label{fill:#111827}

.map-navigation-line{stroke:rgb(var(--p-500));stroke-width:5;stroke-dasharray:12 9;stroke-linecap:round;fill:none;pointer-events:none}
.map-navigation-target{fill:rgb(var(--p-500)/.18);stroke:rgb(var(--p-500));stroke-width:5;pointer-events:none}
.map-navigation-target-core{fill:rgb(var(--p-500));stroke:#fff;stroke-width:2.5;pointer-events:none}
.map-live-navigation-line{stroke:rgb(var(--p-500));stroke-width:4;stroke-dasharray:10 7;stroke-linecap:round;fill:none;pointer-events:none}
.map-live-navigation-target{fill:rgb(var(--p-500)/.18);stroke:rgb(var(--p-500));stroke-width:4;pointer-events:none}
.map-live-navigation-core{fill:rgb(var(--p-500));stroke:#fff;stroke-width:2;pointer-events:none}


/* v925: 首页商人补货提醒 */
.home-restock-strip{position:relative}
.home-restock-bell{position:absolute;right:8px;top:8px;z-index:3;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:rgb(var(--text-muted));box-shadow:none;transition:.15s}
.home-restock-bell:hover{color:rgb(var(--p-500));background:rgb(var(--bg-card-soft))}.home-restock-bell.has-reminders{color:rgb(var(--p-500));background:rgb(var(--p-500) / .10)}
.home-trader img{transition:box-shadow .15s ease,transform .15s ease}
.home-trader.is-reminder-selected img{box-shadow:0 0 0 3px rgb(var(--p-500)),0 0 0 6px rgb(var(--p-500) / .12)}
.home-restock-modal[hidden]{display:none!important}.home-restock-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:18px;opacity:0;transition:opacity .16s}.home-restock-modal.is-open{opacity:1}.home-restock-modal-backdrop{position:absolute;inset:0;background:rgb(0 0 0 / .48);backdrop-filter:blur(5px)}
.home-restock-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:min(82vh,760px);overflow:auto;border:1px solid rgb(var(--border));border-radius:16px;background:rgb(var(--bg-card));color:rgb(var(--text));box-shadow:0 24px 80px rgb(0 0 0 / .28);padding:22px}
.home-restock-dialog-close{position:absolute;right:14px;top:14px;width:34px;height:34px;border:1px solid rgb(var(--border));border-radius:9px;background:rgb(var(--bg-card-soft));color:rgb(var(--text));display:grid;place-items:center}.home-restock-dialog-head small{color:rgb(var(--text-dim));font-size:12px}.home-restock-dialog-head h2{font-size:22px;margin:3px 0 5px}.home-restock-dialog-head p{font-size:13px;color:rgb(var(--text-muted));margin:0 44px 0 0}
.home-restock-reminder-list{display:grid;gap:8px;margin-top:18px}.home-restock-reminder-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.9fr) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgb(var(--border));border-radius:11px;background:rgb(var(--bg-card-soft));opacity:.72}.home-restock-reminder-row.is-enabled{opacity:1;border-color:rgb(var(--p-500) / .5)}
.home-restock-reminder-trader{display:flex;align-items:center;gap:10px;min-width:0;font-weight:700}.home-restock-reminder-trader img{width:40px;height:40px;object-fit:cover;border-radius:8px;background:rgb(var(--bg-card))}.home-restock-reminder-trader input,.home-restock-reminder-sound input{width:16px;height:16px;accent-color:rgb(var(--p-500))}.home-restock-reminder-time{display:flex;align-items:center;gap:8px;font-size:12px;color:rgb(var(--text-muted))}.home-restock-reminder-time select{min-width:110px;height:34px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--bg-card));color:rgb(var(--text));padding:0 8px}.home-restock-reminder-sound{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.home-restock-dialog-actions{display:flex;justify-content:flex-end;margin-top:16px}.home-restock-save{height:38px;padding:0 18px;border:0;border-radius:9px;background:rgb(var(--p-500));color:#fff;font-weight:700}
.trader-reminder-toast-container{position:fixed;right:18px;bottom:18px;z-index:130;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.trader-reminder-toast{width:min(360px,calc(100vw - 28px));display:flex;align-items:center;gap:11px;padding:13px 15px;border:1px solid rgb(var(--p-500) / .38);border-radius:12px;background:rgb(var(--bg-card));color:rgb(var(--text));box-shadow:0 14px 40px rgb(0 0 0 / .22);opacity:0;transform:translateY(10px);transition:.2s}.trader-reminder-toast.is-visible{opacity:1;transform:none}.trader-reminder-toast.is-leaving{opacity:0;transform:translateY(8px)}.trader-reminder-toast-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:50%;background:rgb(var(--p-500) / .13);color:rgb(var(--p-500));font-size:16px}.trader-reminder-toast-body{display:grid;gap:3px}.trader-reminder-toast-body b{font-size:14px}.trader-reminder-toast-body span{font-size:13px;color:rgb(var(--text-muted))}
@media(max-width:640px){.home-restock-bell{right:5px;top:5px;width:22px;height:22px;font-size:11px}.home-restock-strip .home-trader-grid{padding-right:28px}.home-restock-modal{padding:10px}.home-restock-dialog{width:100%;max-height:calc(100dvh - 20px);padding:16px 14px;overflow:hidden;display:flex;flex-direction:column}.home-restock-dialog-head{flex:0 0 auto;padding-right:40px}.home-restock-dialog-head p{margin-right:0}.home-restock-reminder-list{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:1px;scrollbar-width:none;-ms-overflow-style:none}.home-restock-reminder-list::-webkit-scrollbar{display:none;width:0;height:0}.home-restock-reminder-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:10px}.home-restock-reminder-trader{grid-column:1/-1}.home-restock-reminder-time{grid-column:1/-1;display:grid;grid-template-columns:1fr minmax(116px,auto);align-items:center;gap:12px}.home-restock-reminder-time select{width:116px;min-width:116px}.home-restock-reminder-sound{grid-column:1/-1;justify-content:flex-start}.home-restock-dialog-actions{flex:0 0 auto;margin-top:12px;padding-top:10px;border-top:1px solid rgb(var(--border));background:rgb(var(--bg-card))}.trader-reminder-toast-container{right:10px;bottom:10px;left:10px}.trader-reminder-toast{width:100%}}

/* v931: 手机端补货提醒单行布局 */
@media(max-width:640px){
  .home-restock-reminder-row{
    grid-template-columns:minmax(0,1fr) 96px auto;
    align-items:center;
    gap:8px;
    padding:9px 10px;
  }
  .home-restock-reminder-trader{
    grid-column:auto;
    min-width:0;
    gap:6px;
    font-size:14px;
  }
  .home-restock-reminder-trader img{
    width:34px;
    height:34px;
    border-radius:7px;
    flex:0 0 34px;
  }
  .home-restock-reminder-trader span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .home-restock-reminder-trader input,
  .home-restock-reminder-sound input{
    flex:0 0 16px;
  }
  .home-restock-reminder-time{
    grid-column:auto;
    display:block;
  }
  .home-restock-reminder-time>span{
    display:none!important;
  }
  .home-restock-reminder-time select{
    width:96px;
    min-width:96px;
    height:34px;
    padding:0 6px;
    font-size:13px;
  }
  .home-restock-reminder-sound{
    grid-column:auto;
    justify-content:flex-start;
    gap:4px;
    font-size:13px;
    white-space:nowrap;
  }
}
@media(max-width:390px){
  .home-restock-reminder-row{grid-template-columns:minmax(0,1fr) 88px auto;gap:6px;padding:8px}
  .home-restock-reminder-trader{gap:5px;font-size:13px}
  .home-restock-reminder-trader img{width:32px;height:32px;flex-basis:32px}
  .home-restock-reminder-time select{width:88px;min-width:88px;font-size:12px}
  .home-restock-reminder-sound{font-size:12px;gap:3px}
}


/* v936 - header breakpoint tuned from real 1320/1180/1020/940px tests */
@media (min-width:940px) and (max-width:1320px){
  .site-header-brand{display:none!important}
}
@media (max-width:939.98px){
  .site-header-brand{display:flex!important}
  .site-custom-nav{display:none!important}
  .site-custom-nav + div{display:none!important}
  .site-header-actions{margin-left:auto!important;gap:0!important}
  .site-header-actions > :not(#mobile-menu-toggle){display:none!important}
  #mobile-menu-toggle{display:flex!important}
  #mobile-menu:not(.hidden){display:block!important}
}

/* v937 - 940~1220px 竖屏/中等宽度桌面：只收紧顶部导航，为搜索框让出空间 */
@media (min-width:940px) and (max-width:1220px){
  .site-custom-nav{gap:0!important;font-size:13px!important}
  .site-nav-main-link{padding-left:6px!important;padding-right:6px!important;font-size:13px!important;gap:4px!important}
}

/* v943: task list quick completion - full-height status column */
.task-list-entry-wrap{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:stretch;gap:8px}
.task-list-entry-wrap .task-list-entry{min-width:0;height:100%}
.task-list-complete-btn{align-self:stretch;justify-self:stretch;display:flex;align-items:center;justify-content:center;width:72px;min-width:72px;height:auto;min-height:100%;padding:0 8px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--bg-card));color:rgb(var(--text-dim));font-size:12px;font-weight:600;line-height:1.2;white-space:nowrap;transition:.15s ease}
.task-list-complete-btn:not(.is-completed):hover,.task-list-complete-btn:not(.is-completed):focus,.task-list-complete-btn:not(.is-completed):focus-visible{border-color:rgb(var(--border));color:rgb(var(--text-dim));background:rgb(var(--bg-card-soft));outline:none;box-shadow:none}
.task-list-complete-btn.is-completed{border-color:#10b981;background:#059669;color:#fff}
.task-list-complete-btn.is-completed:hover{border-color:#34d399;background:#047857;color:#fff}
@media(max-width:640px){
  .task-list-entry-wrap{grid-template-columns:minmax(0,1fr) 40px;align-items:stretch;gap:6px}
  .task-list-complete-btn{width:40px;min-width:40px;height:auto;min-height:100%;padding:6px 0;font-size:11px;border-radius:8px;white-space:normal}
  .task-list-complete-btn > span{display:block;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:2px;line-height:1}
}

/* v964: 站内通知下拉固定宽度，避免无通知时退化为铃铛按钮宽度 */
#site-notification-wrap .tarkov-dropdown-menu {
    width: 210px;
    min-width: 210px;
    max-width: calc(100vw - 24px);
}
#site-notification-wrap .tarkov-dropdown-menu > div:first-child,
#site-notification-wrap .tarkov-dropdown-menu > div:first-child a {
    white-space: nowrap;
}

/* v964: 从通知跳转到留言/评论时，为 sticky 顶部导航预留空间 */
[id^="msg-"],
[id^="comment-"] {
    scroll-margin-top: 76px;
}

@media (max-width: 939px) {
    #site-notification-wrap .tarkov-dropdown-menu {
        width: 210px;
        min-width: 210px;
        max-width: calc(100vw - 24px);
    }
}

/* Hideout night-mode polish: upgrade state button + statistics scrollbar. */
.upgrade-btn[data-done-state="0"]{
  background:rgb(var(--bg-card-soft))!important;
  border-color:rgb(var(--border))!important;
  color:rgb(var(--text))!important;
  box-shadow:none!important;
}
.upgrade-btn[data-done-state="0"]:hover{
  background:rgb(var(--bg-hover))!important;
  border-color:rgb(var(--border))!important;
}
.upgrade-btn[data-done-state="1"]{
  background:#059669!important;
  border-color:#10b981!important;
  color:#fff!important;
  box-shadow:none!important;
}

#hideout-stats-scroll{
  scrollbar-width:thin;
  scrollbar-color:#cbd5e1 #f1f5f9;
}
#hideout-stats-scroll::-webkit-scrollbar{width:8px;height:8px}
#hideout-stats-scroll::-webkit-scrollbar-track{background:#f1f5f9;border-radius:999px}
#hideout-stats-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;border:2px solid #f1f5f9}
#hideout-stats-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}
html:not([data-mode="light"]) #hideout-stats-scroll{
  scrollbar-color:#52525b #18181b;
}
html:not([data-mode="light"]) #hideout-stats-scroll::-webkit-scrollbar-track{background:#18181b}
html:not([data-mode="light"]) #hideout-stats-scroll::-webkit-scrollbar-thumb{background:#52525b;border-color:#18181b}
html:not([data-mode="light"]) #hideout-stats-scroll::-webkit-scrollbar-thumb:hover{background:#71717a}

/* v979: 任务 / 剧情 / 藏身处状态按钮统一 */
.progress-state-btn{
  width:100%;
  height:42px;
  min-height:42px;
  padding:0 16px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:8px!important;
  border-width:1px!important;
  border-style:solid!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1!important;
  box-shadow:none!important;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease!important;
}
.progress-state-btn i{margin-right:0!important;font-size:13px}

/* 未完成 / 未升级 */
#task-complete-btn.progress-state-btn[data-done="0"],
.storyline-complete-btn.progress-state-btn[data-complete="0"],
.upgrade-btn.progress-state-btn[data-done-state="0"]{
  background:rgb(var(--bg-card-soft))!important;
  border-color:rgb(var(--border))!important;
  color:rgb(var(--text))!important;
}
#task-complete-btn.progress-state-btn[data-done="0"]:hover,
.storyline-complete-btn.progress-state-btn[data-complete="0"]:hover,
.upgrade-btn.progress-state-btn[data-done-state="0"]:hover{
  background:rgb(var(--border))!important;
  border-color:rgb(var(--border-soft))!important;
  color:rgb(var(--text))!important;
}

/* 已完成 / 已升级 */
#task-complete-btn.progress-state-btn[data-done="1"],
.storyline-complete-btn.progress-state-btn[data-complete="1"],
.upgrade-btn.progress-state-btn[data-done-state="1"]{
  background:#059669!important;
  border-color:#10b981!important;
  color:#fff!important;
}
#task-complete-btn.progress-state-btn[data-done="1"]:hover,
.storyline-complete-btn.progress-state-btn[data-complete="1"]:hover,
.upgrade-btn.progress-state-btn[data-done-state="1"]:hover{
  background:#047857!important;
  border-color:#34d399!important;
  color:#fff!important;
}


/* v980: 任务 / 剧情详情“跳转至评论区”与状态按钮视觉统一 */
.detail-secondary-btn{
  width:100%;
  height:42px;
  min-height:42px;
  padding:0 16px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:8px!important;
  border:1px solid rgb(var(--border))!important;
  background:rgb(var(--bg-card-soft))!important;
  color:rgb(var(--text))!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1!important;
  box-shadow:none!important;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease!important;
}
.detail-secondary-btn:hover{
  background:rgb(var(--border))!important;
  border-color:rgb(var(--border-soft))!important;
  color:rgb(var(--text))!important;
}
.detail-secondary-btn i{margin-right:0!important;font-size:13px}

/* v981: 详情页状态/评论按钮恢复正常字重，并修复未定义 --bg-hover 导致 hover 透明 */


/* v988: wide desktop keeps original one-row toolbar; narrow/portrait desktop uses two left-aligned rows. */
@media (min-width:1501px){
  body#app .map-toolbar{
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:7px 12px;
  }
  body#app .map-toolbar-floors{
    min-width:0;
    flex:1 1 auto;
  }
  body#app .map-floor-tabs{
    display:flex;
    align-items:center;
    gap:5px;
    min-width:0;
    margin:0;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  body#app .map-floor-tabs::-webkit-scrollbar{display:none}
  body#app .map-toolbar-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    flex:0 0 auto;
    white-space:nowrap;
  }
}

@media (min-width:1024px) and (max-width:1500px){
  body#app .map-toolbar{
    height:auto;
    min-height:92px;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    align-content:center;
    justify-content:stretch;
    gap:6px;
    padding:6px 8px;
  }
  body#app .map-toolbar-floors,
  body#app .map-toolbar-actions{
    min-width:0;
    width:100%;
  }
  body#app .map-toolbar-floors{display:block}
  body#app .map-floor-tabs{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:5px;
    width:100%;
    min-width:0;
    margin:0;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  body#app .map-floor-tabs::-webkit-scrollbar{display:none}
  body#app .map-toolbar-actions{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:5px;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  body#app .map-toolbar-actions::-webkit-scrollbar{display:none}
  body#app .map-floor,
  body#app .map-floor-hint,
  body#app .map-toolbar-actions>button{
    flex:0 0 auto;
    white-space:nowrap;
    word-break:keep-all;
  }
  body#app .map-toolbar button,
  body#app .map-floor{
    padding-left:9px;
    padding-right:9px;
    font-size:.76rem;
  }
  body#app .map-floor-hint{
    padding-left:10px;
    padding-right:10px;
    font-size:.68rem;
  }
}

@media (max-width:1023px){
  body#app .map-toolbar-floors{min-width:0;flex:1 1 auto}
  body#app .map-toolbar-actions{display:contents}
}


/* v990: 地图工具栏响应式优化；宽屏单行，窄桌面两行；画布角落按钮统一工具样式 */
@media (min-width:1501px){
  body#app .map-toolbar{
    height:52px!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    padding:7px 12px!important;
  }
  body#app .map-toolbar-floors{
    width:auto!important;
    min-width:0;
    flex:0 1 auto;
  }
  body#app .map-floor-tabs{
    display:flex!important;
    align-items:center;
    justify-content:center!important;
    gap:5px;
    width:auto!important;
    min-width:0;
    margin:0!important;
    overflow:visible!important;
    white-space:nowrap;
  }
  body#app .map-toolbar-actions{
    width:auto!important;
    min-width:0;
    display:flex!important;
    align-items:center;
    justify-content:center!important;
    gap:6px;
    overflow:visible!important;
    white-space:nowrap;
  }
  body#app .map-toolbar-mobile-only{display:none!important}
}

@media (min-width:1024px) and (max-width:1500px){
  body#app .map-toolbar{
    height:auto!important;
    min-height:92px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-content:center;
    justify-items:center;
    gap:6px!important;
    padding:7px 10px!important;
  }
  body#app .map-toolbar-floors,
  body#app .map-toolbar-actions{
    width:100%;
    min-width:0;
  }
  body#app .map-floor-tabs,
  body#app .map-toolbar-actions{
    display:flex!important;
    align-items:center;
    justify-content:center!important;
    gap:5px;
    width:100%;
    min-width:0;
    margin:0!important;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  body#app .map-floor-tabs::-webkit-scrollbar,
  body#app .map-toolbar-actions::-webkit-scrollbar{display:none}
  body#app .map-toolbar-mobile-only{display:none!important}
}

@media (min-width:1024px){
  body#app .map-viewport-hint{
    position:absolute;
    left:16px;
    top:16px;
    z-index:20;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 10px;
    margin:0;
    border:1px solid rgb(var(--border));
    border-radius:8px;
    background:rgb(var(--bg-card));
    color:rgb(var(--text));
    box-shadow:0 2px 8px rgb(0 0 0/.08);
    font-size:10px;
    line-height:1;
    white-space:nowrap;
    font-weight:600;
    backdrop-filter:none;
  }
  body#app .map-viewport-actions{
    position:absolute;
    right:16px;
    top:16px;
    z-index:20;
    display:flex;
    align-items:center;
    gap:5px;
  }
  body#app .map-viewport-actions button{
    height:38px;
    min-width:38px;
    padding:0 10px;
    border:1px solid rgb(var(--border));
    border-radius:8px;
    background:rgb(var(--bg-card));
    color:rgb(var(--text));
    box-shadow:0 2px 8px rgb(0 0 0/.08);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.8rem;
    white-space:nowrap;
    backdrop-filter:none;
  }
  body#app .map-viewport-actions button:hover,
  body#app .map-viewport-hint:hover{
    border-color:rgb(var(--p-500));
    color:rgb(var(--p-500));
    background:rgb(var(--bg-card));
  }
  html[data-mode="light"] body#app .map-viewport-hint,
  html[data-mode="light"] body#app .map-viewport-actions button{
    background:#fff;
    border-color:#cbd5e1;
    color:#334155;
    box-shadow:0 2px 8px #0f172a1a;
  }
  html[data-mode="light"] body#app .map-viewport-actions button:hover,
  html[data-mode="light"] body#app .map-viewport-hint:hover{
    border-color:rgb(var(--p-500));
    color:rgb(var(--p-500));
    background:#fff;
  }
}

@media (max-width:1023px){
  body#app .map-viewport-hint,
  body#app .map-viewport-actions{display:none!important}
  body#app .map-toolbar-mobile-only{display:inline-flex!important;align-items:center;justify-content:center}
}


/* v991: 地图顶部工具栏精细响应式：默认单行左/右，仅破冰船窄桌面双行居中 */
@media (min-width:1024px){
  body#app .map-viewport-hint{font-weight:400!important}

  body#app .map-toolbar{
    height:52px!important;
    min-height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    padding:7px 12px!important;
  }
  body#app .map-toolbar-floors{
    width:auto!important;
    min-width:0!important;
    flex:1 1 auto!important;
  }
  body#app .map-floor-tabs{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:5px!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    scrollbar-width:none!important;
  }
  body#app .map-floor-tabs::-webkit-scrollbar{display:none!important}
  body#app .map-toolbar-actions{
    width:auto!important;
    min-width:0!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:6px!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }
  body#app .map-toolbar-mobile-only{display:none!important}
}

@media (min-width:1024px) and (max-width:1500px){
  body#app .map-toolbar.map-toolbar-icebreaker{
    height:auto!important;
    min-height:92px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-content:center!important;
    justify-items:center!important;
    gap:6px!important;
    padding:7px 10px!important;
  }
  body#app .map-toolbar.map-toolbar-icebreaker .map-toolbar-floors,
  body#app .map-toolbar.map-toolbar-icebreaker .map-toolbar-actions{
    width:100%!important;
    min-width:0!important;
  }
  body#app .map-toolbar.map-toolbar-icebreaker .map-floor-tabs,
  body#app .map-toolbar.map-toolbar-icebreaker .map-toolbar-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    scrollbar-width:none!important;
  }
  body#app .map-toolbar.map-toolbar-icebreaker .map-floor-tabs::-webkit-scrollbar,
  body#app .map-toolbar.map-toolbar-icebreaker .map-toolbar-actions::-webkit-scrollbar{display:none!important}
}

/* v992: enlarge desktop map side-panel collapse hit area */
@media (min-width:1024px){
  .map-desktop-panel-toggle{
    height:130px;
  }
}

/* v993: map right-panel task search + clearer completion/type controls */
.map-task-search-wrap{position:relative;margin:0 0 8px}
.map-task-search-wrap>i{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:.72rem;color:#94a3b8;pointer-events:none}
.map-task-search-wrap input{width:100%;height:34px;padding:0 10px 0 30px;border:1px solid #343a44;border-radius:7px;background:#111318;color:#e7e5e4;font-size:.78rem;outline:none}
.map-task-search-wrap input::placeholder{color:#64748b}
.map-task-search-wrap input:focus{border-color:rgb(var(--accent));box-shadow:0 0 0 2px rgba(var(--accent),.08)}
html[data-mode="light"] .map-task-search-wrap input{background:#fff;border-color:#cbd5e1;color:#0f172a}
html[data-mode="light"] .map-task-search-wrap input::placeholder{color:#94a3b8}
.map-task-row.is-search-hidden{display:none!important}
.map-task .map-task-titleline>.map-content-type{display:none!important}
.map-content-type-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:22px;padding:0 7px;border:1px solid #3f4651;border-radius:5px;color:#cbd5e1;font-size:.68rem;line-height:1;flex:0 0 auto;background:#171a20}
html[data-mode="light"] .map-content-type-badge{border-color:#cbd5e1;background:#f8fafc;color:#475569}
.map-task-complete{width:auto!important;min-width:52px!important;padding:0 9px!important;white-space:nowrap;font-size:.72rem;font-weight:400;display:inline-flex!important;align-items:center;justify-content:center}
.map-task-complete:hover{border-color:#10b981;background:#10b9811f;color:#34d399}
html[data-mode="light"] .map-task-complete:hover{border-color:#10b981;background:#10b98114;color:#059669}

/* v994: map task panel visual cleanup */
/* Search placeholder should stay clearly readable instead of looking disabled. */
.map-task-search-wrap input::placeholder{color:#cbd5e1;opacity:1}
html[data-mode="light"] .map-task-search-wrap input::placeholder{color:#475569;opacity:1}

/* "任务 / 剧情" badge uses the exact same visual language as floor buttons. */
.map-content-type-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  height:auto;
  padding:3px 7px;
  border:1px solid #343a44;
  border-radius:5px;
  background:transparent;
  color:#78716c;
  font-size:.68rem;
  font-weight:400;
  line-height:1.4;
  flex:0 0 auto;
}
html[data-mode="light"] .map-content-type-badge{
  border-color:#cbd5e1;
  background:transparent;
  color:#64748b;
}

/* Detail + completion controls stay neutral on hover/focus/active. */
.map-task-detail,
.map-task-complete{
  outline:none!important;
  box-shadow:none!important;
}
.map-task-detail:hover,
.map-task-detail:focus,
.map-task-detail:focus-visible,
.map-task-detail:active,
.map-task-complete:hover,
.map-task-complete:focus,
.map-task-complete:focus-visible,
.map-task-complete:active{
  border-color:#3f4651!important;
  background:#1b1f26!important;
  color:#94a3b8!important;
  outline:none!important;
  box-shadow:none!important;
}
html[data-mode="light"] .map-task-detail:hover,
html[data-mode="light"] .map-task-detail:focus,
html[data-mode="light"] .map-task-detail:focus-visible,
html[data-mode="light"] .map-task-detail:active,
html[data-mode="light"] .map-task-complete:hover,
html[data-mode="light"] .map-task-complete:focus,
html[data-mode="light"] .map-task-complete:focus-visible,
html[data-mode="light"] .map-task-complete:active{
  border-color:#cbd5e1!important;
  background:#f8fafc!important;
  color:#64748b!important;
  outline:none!important;
  box-shadow:none!important;
}


/* v995: map right panel controls fully aligned with site header/floor-button styling */
/* Search box mirrors the top navigation search field instead of using a blue/slate variant. */
.map-task-search-wrap{margin:0 0 8px}
.map-task-search-wrap>i{color:#e5e5e5!important}
.map-task-search-wrap input{
  height:32px!important;
  padding:0 10px 0 30px!important;
  border:1px solid #3a3a3a!important;
  border-radius:6px!important;
  background:#292524!important;
  color:#e5e5e5!important;
  font-size:.78rem!important;
  font-weight:400!important;
  box-shadow:none!important;
}
.map-task-search-wrap input::placeholder{color:#f5f5f4!important;opacity:1!important}
.map-task-search-wrap input:focus,
.map-task-search-wrap input:focus-visible{
  border-color:#d97706!important;
  box-shadow:none!important;
  outline:none!important;
}
html[data-mode="light"] .map-task-search-wrap>i{color:#475569!important}
html[data-mode="light"] .map-task-search-wrap input{
  background:#e2e8f0!important;
  border-color:#cbd5e1!important;
  color:#0f172a!important;
}
html[data-mode="light"] .map-task-search-wrap input::placeholder{color:#0f172a!important;opacity:1!important}
html[data-mode="light"] .map-task-search-wrap input:focus,
html[data-mode="light"] .map-task-search-wrap input:focus-visible{border-color:#94a3b8!important}

/* Content type badge is literally the same visual treatment as a floor chip. */
.map-content-type-badge{
  padding:3px 7px!important;
  border:1px solid #343a44!important;
  border-radius:5px!important;
  background:transparent!important;
  color:rgb(var(--text))!important;
  font-size:.68rem!important;
  font-weight:400!important;
  line-height:1.4!important;
  min-width:0!important;
  height:auto!important;
}
html[data-mode="light"] .map-content-type-badge{
  border-color:#cbd5e1!important;
  background:transparent!important;
  color:rgb(var(--text))!important;
}

/* Completion + guide controls stack vertically and use one neutral button language. */
.map-task-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:4px!important;
}
.map-task-detail,
.map-task-complete{
  width:62px!important;
  min-width:62px!important;
  height:26px!important;
  padding:0 7px!important;
  border:1px solid #3f4651!important;
  border-radius:6px!important;
  background:transparent!important;
  color:rgb(var(--text))!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:.68rem!important;
  font-weight:400!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.map-task-detail:hover,
.map-task-detail:focus,
.map-task-detail:focus-visible,
.map-task-detail:active,
.map-task-complete:hover,
.map-task-complete:focus,
.map-task-complete:focus-visible,
.map-task-complete:active{
  border-color:#525966!important;
  background:#1b1f26!important;
  color:rgb(var(--text))!important;
  box-shadow:none!important;
  outline:none!important;
}
html[data-mode="light"] .map-task-detail,
html[data-mode="light"] .map-task-complete{
  border-color:#cbd5e1!important;
  background:#fff!important;
  color:#0f172a!important;
}
html[data-mode="light"] .map-task-detail:hover,
html[data-mode="light"] .map-task-detail:focus,
html[data-mode="light"] .map-task-detail:focus-visible,
html[data-mode="light"] .map-task-detail:active,
html[data-mode="light"] .map-task-complete:hover,
html[data-mode="light"] .map-task-complete:focus,
html[data-mode="light"] .map-task-complete:focus-visible,
html[data-mode="light"] .map-task-complete:active{
  border-color:#cbd5e1!important;
  background:#f8fafc!important;
  color:#0f172a!important;
}
\n\n/* v996: exact header-search styling + vertically centered right task actions */\n.map-task-search-wrap{margin:0 0 8px!important}\n.map-task-search-wrap>i{display:none!important}\n.map-task-search-wrap input{\n  width:100%!important;\n  height:32px!important;\n  padding:0 12px!important;\n  border:1px solid #3a3a3a!important;\n  border-radius:6px!important;\n  background:#292524!important;\n  color:#e5e5e5!important;\n  font-size:.875rem!important;\n  font-weight:400!important;\n  line-height:2rem!important;\n  outline:none!important;\n  box-shadow:none!important;\n}\n.map-task-search-wrap input::placeholder{color:#f5f5f4!important;opacity:1!important}\n.map-task-search-wrap input:focus,\n.map-task-search-wrap input:focus-visible{\n  border-color:#3a3a3a!important;\n  outline:none!important;\n  box-shadow:none!important;\n}\nhtml[data-mode="light"] .map-task-search-wrap input{\n  background:#e2e8f0!important;\n  border-color:#cbd5e1!important;\n  color:#0f172a!important;\n}\nhtml[data-mode="light"] .map-task-search-wrap input::placeholder{color:#0f172a!important;opacity:1!important}\nhtml[data-mode="light"] .map-task-search-wrap input:focus,\nhtml[data-mode="light"] .map-task-search-wrap input:focus-visible{\n  border-color:#cbd5e1!important;\n  outline:none!important;\n  box-shadow:none!important;\n}\n\n/* Badge literally matches floor chips. */\n.map-content-type-badge{\n  padding:3px 7px!important;\n  border:1px solid #343a44!important;\n  border-radius:5px!important;\n  background:transparent!important;\n  color:#78716c!important;\n  font-size:.68rem!important;\n  line-height:1.4!important;\n  font-weight:400!important;\n  height:auto!important;\n  min-width:0!important;\n}\nhtml[data-mode="light"] .map-content-type-badge{\n  border-color:#cbd5e1!important;\n  color:#64748b!important;\n  background:transparent!important;\n}\n\n/* Center task actions against the full task row, not only the title block. */\n.map-task-row{\n  display:grid!important;\n  grid-template-columns:minmax(0,1fr) auto!important;\n  grid-template-rows:auto auto!important;\n  column-gap:8px!important;\n  align-items:center!important;\n}\n.map-task-row>.map-task-main{display:contents!important}\n.map-task-row>.map-task-main>.map-task{\n  grid-column:1!important;\n  grid-row:1!important;\n  min-width:0!important;\n}\n.map-task-row>.map-task-main>.map-task-actions{\n  grid-column:2!important;\n  grid-row:1 / span 2!important;\n  align-self:center!important;\n  justify-self:end!important;\n  margin:0!important;\n}\n.map-task-row>.map-task-floors{\n  grid-column:1!important;\n  grid-row:2!important;\n}\n.map-task-detail,\n.map-task-complete{\n  font-family:inherit!important;\n  font-size:.68rem!important;\n  font-weight:400!important;\n  line-height:1!important;\n}\n

/* v997: map task search exactly follows task-list filter language; actions visually centered */
.map-task-search-wrap{
  display:flex!important;
  align-items:center!important;
  gap:.5rem!important;
  margin:0 0 8px!important;
}
.map-task-search-wrap input{
  box-sizing:border-box!important;
  flex:1 1 auto!important;
  min-width:0!important;
  width:auto!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 .75rem!important;
  border:1px solid #3a3a3a!important;
  border-radius:.375rem!important;
  background:#090909!important;
  color:#e5e5e5!important;
  font:inherit!important;
  font-size:.875rem!important;
  line-height:1.25rem!important;
  box-shadow:none!important;
  outline:none!important;
}
.map-task-search-wrap input::placeholder{
  color:#737373!important;
  opacity:1!important;
}
.map-task-search-wrap input:focus,
.map-task-search-wrap input:focus-visible{
  border-color:#3a3a3a!important;
  box-shadow:none!important;
  outline:none!important;
}
.map-task-search-reset{
  box-sizing:border-box!important;
  flex:0 0 72px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 .75rem!important;
  border:1px solid #3a3a3a!important;
  border-radius:.375rem!important;
  background:#292524!important;
  color:#d6d3d1!important;
  font-size:.875rem!important;
  line-height:1.25rem!important;
  font-weight:400!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.map-task-search-reset:hover{background:#334155!important;color:#d6d3d1!important}
html[data-mode="light"] .map-task-search-wrap input{
  border-color:rgb(var(--border))!important;
  background:rgb(var(--bg))!important;
  color:rgb(var(--text))!important;
}
html[data-mode="light"] .map-task-search-wrap input::placeholder{
  color:rgb(var(--text-muted))!important;
}
html[data-mode="light"] .map-task-search-wrap input:focus,
html[data-mode="light"] .map-task-search-wrap input:focus-visible{
  border-color:rgb(var(--border))!important;
}
html[data-mode="light"] .map-task-search-reset{
  border-color:rgb(var(--border))!important;
  background:rgb(var(--bg-card-soft))!important;
  color:rgb(var(--text))!important;
}
html[data-mode="light"] .map-task-search-reset:hover{
  background:rgb(var(--border))!important;
  color:rgb(var(--text))!important;
}

/* Equal top/bottom breathing room makes the right action stack truly centered between dividers. */
.map-panel-right .map-task-row{
  padding-top:7px!important;
  padding-bottom:7px!important;
}
.map-panel-right .map-task-row>.map-task-main>.map-task-actions{
  align-self:center!important;
  justify-self:end!important;
}

/* v998: separate map task search controls + truly center task actions in whole row */
.map-task-search-wrap{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 58px!important;
  align-items:center!important;
  gap:8px!important;
  column-gap:8px!important;
}
.map-task-search-reset{
  width:58px!important;
  min-width:58px!important;
  flex:none!important;
  margin:0!important;
}

/* Center the action stack between the task row's top/bottom divider lines. */
.map-panel-right .map-task-row{
  position:relative!important;
  display:block!important;
  padding:10px 72px 10px 0!important;
  min-height:76px!important;
  box-sizing:border-box!important;
}
.map-panel-right .map-task-row>.map-task-main{
  display:block!important;
}
.map-panel-right .map-task-row>.map-task-main>.map-task{
  display:block!important;
  width:100%!important;
  min-width:0!important;
}
.map-panel-right .map-task-row>.map-task-main>.map-task-actions{
  position:absolute!important;
  right:0!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:4px!important;
}
.map-panel-right .map-task-row>.map-task-floors{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px!important;
  margin-top:5px!important;
}


/* v999: more breathing room between task action buttons */
.map-panel-right .map-task-row>.map-task-main>.map-task-actions{gap:10px!important;}

/* v1002: task search must override later grid layout rules. */
.map-panel-right .map-task-row.is-search-hidden,
.map-panel-right .map-story-row.is-search-hidden {
    display: none !important;
}

/* v1003: restore theme-accent hover/focus border for the four map toolbar actions in dark mode */
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-locate:hover,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-floating:hover,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-phone-live:hover,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-team:hover,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-locate:focus-visible,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-floating:focus-visible,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-phone-live:focus-visible,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-team:focus-visible{
  border-color:rgb(var(--accent))!important;
  color:rgb(var(--p-500))!important;
  background:rgba(var(--accent),.15)!important;
  outline:none!important;
  box-shadow:none!important;
}

/* v1004: map detail highlighted controls use the same neutral language as “完成任务”.
   Keep only a very light neutral background on hover/selected states; never use the theme accent as an outline. */
body#app .map-floor,
body#app .map-toolbar-actions > #map-locate,
body#app .map-toolbar-actions > #map-floating,
body#app .map-toolbar-actions > #map-phone-live,
body#app .map-toolbar-actions > #map-team,
body#app .map-viewport-actions button,
body#app .map-draw-tools button,
body#app .map-panel-right .map-task-floor{
  border-color:#3f4651!important;
  background:transparent!important;
  color:rgb(var(--text))!important;
  box-shadow:none!important;
  outline:none!important;
}

body#app .map-floor:hover,
body#app .map-floor:focus-visible,
body#app .map-floor.is-active,
body#app .map-toolbar-actions > #map-locate:hover,
body#app .map-toolbar-actions > #map-locate:focus-visible,
body#app .map-toolbar-actions > #map-floating:hover,
body#app .map-toolbar-actions > #map-floating:focus-visible,
body#app .map-toolbar-actions > #map-phone-live:hover,
body#app .map-toolbar-actions > #map-phone-live:focus-visible,
body#app .map-toolbar-actions > #map-team:hover,
body#app .map-toolbar-actions > #map-team:focus-visible,
body#app .map-viewport-actions button:hover,
body#app .map-viewport-actions button:focus-visible,
body#app .map-draw-tools button:hover,
body#app .map-draw-tools button:focus-visible,
body#app .map-draw-tools button.is-active,
body#app .map-panel-right .map-task-floor:hover,
body#app .map-panel-right .map-task-floor:focus-visible{
  border-color:#525966!important;
  background:#1b1f26!important;
  color:rgb(var(--text))!important;
  box-shadow:none!important;
  outline:none!important;
}

html[data-mode="light"] body#app .map-floor,
html[data-mode="light"] body#app .map-toolbar-actions > #map-locate,
html[data-mode="light"] body#app .map-toolbar-actions > #map-floating,
html[data-mode="light"] body#app .map-toolbar-actions > #map-phone-live,
html[data-mode="light"] body#app .map-toolbar-actions > #map-team,
html[data-mode="light"] body#app .map-viewport-actions button,
html[data-mode="light"] body#app .map-draw-tools button,
html[data-mode="light"] body#app .map-panel-right .map-task-floor{
  border-color:#cbd5e1!important;
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:none!important;
}

html[data-mode="light"] body#app .map-floor:hover,
html[data-mode="light"] body#app .map-floor:focus-visible,
html[data-mode="light"] body#app .map-floor.is-active,
html[data-mode="light"] body#app .map-toolbar-actions > #map-locate:hover,
html[data-mode="light"] body#app .map-toolbar-actions > #map-locate:focus-visible,
html[data-mode="light"] body#app .map-toolbar-actions > #map-floating:hover,
html[data-mode="light"] body#app .map-toolbar-actions > #map-floating:focus-visible,
html[data-mode="light"] body#app .map-toolbar-actions > #map-phone-live:hover,
html[data-mode="light"] body#app .map-toolbar-actions > #map-phone-live:focus-visible,
html[data-mode="light"] body#app .map-toolbar-actions > #map-team:hover,
html[data-mode="light"] body#app .map-toolbar-actions > #map-team:focus-visible,
html[data-mode="light"] body#app .map-viewport-actions button:hover,
html[data-mode="light"] body#app .map-viewport-actions button:focus-visible,
html[data-mode="light"] body#app .map-draw-tools button:hover,
html[data-mode="light"] body#app .map-draw-tools button:focus-visible,
html[data-mode="light"] body#app .map-draw-tools button.is-active,
html[data-mode="light"] body#app .map-panel-right .map-task-floor:hover,
html[data-mode="light"] body#app .map-panel-right .map-task-floor:focus-visible{
  border-color:#cbd5e1!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  box-shadow:none!important;
  outline:none!important;
}

/* Active floor still needs a tiny visual distinction, but only through a neutral fill. */
body#app .map-floor.is-active{font-weight:600!important;}
html:not([data-mode="light"]) body#app .map-floor.is-active{background:#20242a!important;}
html[data-mode="light"] body#app .map-floor.is-active{background:#f1f5f9!important;}

/* v1005: dark-mode map detail controls stay fully neutral.
   v1003/v793 used higher-specificity accent rules, so override those exact dark-mode states here. */
html:not([data-mode="light"]) body#app .map-floor,
html:not([data-mode="light"]) body#app .map-floor:hover,
html:not([data-mode="light"]) body#app .map-floor:focus,
html:not([data-mode="light"]) body#app .map-floor:focus-visible,
html:not([data-mode="light"]) body#app .map-floor:active,
html:not([data-mode="light"]) body#app .map-floor.is-active{
  border-color:#3f4651!important;
  color:rgb(var(--text))!important;
  box-shadow:none!important;
  outline:none!important;
}
html:not([data-mode="light"]) body#app .map-floor:hover,
html:not([data-mode="light"]) body#app .map-floor:focus,
html:not([data-mode="light"]) body#app .map-floor:focus-visible,
html:not([data-mode="light"]) body#app .map-floor:active,
html:not([data-mode="light"]) body#app .map-floor.is-active{
  background:#20242a!important;
}

html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-locate,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-floating,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-phone-live,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-team,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-locate:hover,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-floating:hover,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-phone-live:hover,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-team:hover,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-locate:focus,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-floating:focus,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-phone-live:focus,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-team:focus,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-locate:focus-visible,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-floating:focus-visible,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-phone-live:focus-visible,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-team:focus-visible,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-locate:active,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-floating:active,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-phone-live:active,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-team:active{
  border-color:#3f4651!important;
  color:rgb(var(--text))!important;
  box-shadow:none!important;
  outline:none!important;
}
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-locate:hover,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-floating:hover,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-phone-live:hover,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-team:hover,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-locate:focus,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-floating:focus,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-phone-live:focus,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-team:focus,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-locate:focus-visible,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-floating:focus-visible,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-phone-live:focus-visible,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-team:focus-visible,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-locate:active,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-floating:active,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-phone-live:active,
html:not([data-mode="light"]) body#app .map-toolbar-actions > #map-team:active{
  background:#1b1f26!important;
}

/* v1006: keep desktop map side-panel collapse tabs visually neutral in both modes */
@media (min-width:1024px){
  html:not([data-mode="light"]) .map-desktop-panel-toggle{
    background:#111318!important;
    border-color:#2b3038!important;
    color:#cbd5e1!important;
    box-shadow:none!important;
  }
  html:not([data-mode="light"]) .map-desktop-panel-toggle:hover,
  html:not([data-mode="light"]) .map-desktop-panel-toggle:focus,
  html:not([data-mode="light"]) .map-desktop-panel-toggle:focus-visible{
    background:#15181d!important;
    border-color:#343a44!important;
    color:#e7e5e4!important;
    box-shadow:none!important;
    outline:none!important;
  }
  html[data-mode="light"] .map-desktop-panel-toggle{
    background:#fff!important;
    border-color:#dce2e8!important;
    color:#475569!important;
    box-shadow:none!important;
  }
  html[data-mode="light"] .map-desktop-panel-toggle:hover,
  html[data-mode="light"] .map-desktop-panel-toggle:focus,
  html[data-mode="light"] .map-desktop-panel-toggle:focus-visible{
    background:#f8fafc!important;
    border-color:#cbd5e1!important;
    color:#334155!important;
    box-shadow:none!important;
    outline:none!important;
  }
}

/* v1007: desktop map side-panel collapse tabs use the exact same panel surface */
@media (min-width:1024px){
  html:not([data-mode="light"]) body#app .interactive-map .map-desktop-panel-toggle{
    background:rgb(var(--bg-card))!important;
    border-color:rgb(var(--border))!important;
    color:rgb(var(--text))!important;
    box-shadow:none!important;
  }
  html:not([data-mode="light"]) body#app .interactive-map .map-desktop-panel-toggle:hover,
  html:not([data-mode="light"]) body#app .interactive-map .map-desktop-panel-toggle:focus,
  html:not([data-mode="light"]) body#app .interactive-map .map-desktop-panel-toggle:focus-visible{
    background:rgb(var(--bg-card-soft))!important;
    border-color:rgb(var(--border))!important;
    color:rgb(var(--text))!important;
    box-shadow:none!important;
    outline:none!important;
  }
}


/* v1008: frontend search controls use one readable text/reset language everywhere. */
/* Search text/placeholder: normal page text color; placeholder disappears while focused. */
.site-header-search input[type="text"],
#mobile-menu input[name="q"],
.task-list-filter-grid input[type="text"],
.item-list-filter-grid input[type="text"],
.unified-search-bar > input[type="text"],
.unified-search-bar > input[type="search"],
.collection-toolbar-unified .collection-search-wrap > input[type="text"],
.map-task-search-wrap input{
  color:rgb(var(--text))!important;
  caret-color:rgb(var(--text))!important;
}
.site-header-search input[type="text"]::placeholder,
#mobile-menu input[name="q"]::placeholder,
.task-list-filter-grid input[type="text"]::placeholder,
.item-list-filter-grid input[type="text"]::placeholder,
.unified-search-bar > input[type="text"]::placeholder,
.unified-search-bar > input[type="search"]::placeholder,
.collection-toolbar-unified .collection-search-wrap > input[type="text"]::placeholder,
.map-task-search-wrap input::placeholder{
  color:rgb(var(--text))!important;
  opacity:1!important;
}
.site-header-search input[type="text"]:focus::placeholder,
#mobile-menu input[name="q"]:focus::placeholder,
.task-list-filter-grid input[type="text"]:focus::placeholder,
.item-list-filter-grid input[type="text"]:focus::placeholder,
.unified-search-bar > input[type="text"]:focus::placeholder,
.unified-search-bar > input[type="search"]:focus::placeholder,
.collection-toolbar-unified .collection-search-wrap > input[type="text"]:focus::placeholder,
.map-task-search-wrap input:focus::placeholder{
  color:transparent!important;
  opacity:0!important;
}

/* Keep search focus neutral: no theme-colored outline. */
.site-header-search input[type="text"]:focus,
#mobile-menu input[name="q"]:focus,
.task-list-filter-grid input[type="text"]:focus,
.item-list-filter-grid input[type="text"]:focus,
.unified-search-bar > input[type="text"]:focus,
.unified-search-bar > input[type="search"]:focus,
.collection-toolbar-unified .collection-search-wrap > input[type="text"]:focus,
.map-task-search-wrap input:focus,
.map-task-search-wrap input:focus-visible{
  outline:none!important;
  box-shadow:none!important;
  border-color:rgb(var(--border))!important;
}

/* Reset = the same neutral style as the task detail "未完成" state. */
.unified-search-reset,
.map-task-search-reset{
  background:rgb(var(--bg-card-soft))!important;
  border:1px solid rgb(var(--border))!important;
  color:rgb(var(--text))!important;
  box-shadow:none!important;
  font-weight:400!important;
}
.unified-search-reset:hover,
.unified-search-reset:focus,
.unified-search-reset:focus-visible,
.map-task-search-reset:hover,
.map-task-search-reset:focus,
.map-task-search-reset:focus-visible{
  background:rgb(var(--border))!important;
  border-color:rgb(var(--border-soft))!important;
  color:rgb(var(--text))!important;
  outline:none!important;
  box-shadow:none!important;
}

/* The task/item filter reset links now share unified-search-reset; keep their grid width behavior. */
.task-list-filter-grid .unified-search-reset,
.item-list-filter-grid .unified-search-reset{
  display:inline-flex!important;
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 .75rem!important;
  border-radius:.375rem!important;
  font-size:.875rem!important;
  line-height:1.25rem!important;
}

/* v1009: map detail search placeholder must disappear on focus in light mode too.
   Older light-mode placeholder rules carry higher specificity + !important. */
html[data-mode="light"] body#app .interactive-map .map-task-search-wrap input:focus::placeholder,
html[data-mode="light"] body#app .interactive-map .map-task-search-wrap input:focus-visible::placeholder,
html:not([data-mode="light"]) body#app .interactive-map .map-task-search-wrap input:focus::placeholder,
html:not([data-mode="light"]) body#app .interactive-map .map-task-search-wrap input:focus-visible::placeholder{
  color:transparent!important;
  opacity:0!important;
}

/* v1010: collection cards use the same neutral hover/focus surface as task list cards */
.collection-card:hover,
.collection-card:focus,
.collection-card:focus-visible{
    transform:none!important;
    border-color:rgb(var(--border))!important;
    box-shadow:none!important;
    background:rgb(var(--bg-card-soft))!important;
    outline:none!important;
}
html[data-mode="dark"] .collection-card:hover,
html[data-mode="dark"] .collection-card:focus,
html[data-mode="dark"] .collection-card:focus-visible{
    background:#1f1f1f!important;
}


/* v1017 mobile map controls */
@media(max-width:1023px){
    /* 手机不需要全屏按钮（顶部和地图内都隐藏） */
    #map-fullscreen-mobile,
    #map-fullscreen{
        display:none!important;
    }

    /* 复位按钮放到地图右上角，与缩放按钮同类浮层 */
    .map-viewport-actions{
        position:absolute!important;
        top:12px;
        right:12px;
        z-index:30;
        display:block!important;
    }

    .map-viewport-actions #map-reset{
        width:42px;
        height:42px;
        padding:0!important;
        display:flex;
        align-items:center;
        justify-content:center;
        background:rgb(var(--bg-card));
        border:1px solid rgb(var(--border));
        border-radius:10px;
        box-shadow:0 2px 8px rgba(0,0,0,.12);
    }

    html[data-mode="dark"] .map-viewport-actions #map-reset,
    html:not([data-mode="light"]) .map-viewport-actions #map-reset{
        background:#161616;
    }
}


/* v1019 手机地图按钮修复：保留地图浮层复位，隐藏顶部全屏 */
@media (max-width:1023px){
  body#app .map-toolbar-actions > #map-fullscreen-mobile{
    display:none!important;
  }

  body#app .map-viewport-actions{
    display:flex!important;
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    z-index:30!important;
  }

  body#app .map-viewport-actions #map-reset{
    display:flex!important;
  }

  body#app .map-viewport-actions #map-fullscreen{
    display:none!important;
  }
}


/* v1021 修复：手机复位完全继承PC样式，只调整位置 */
@media(max-width:1023px){
  body#app .map-viewport-actions #map-reset{
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    padding:0 10px!important;
    border-radius:8px!important;
    background:rgb(var(--bg-card))!important;
    box-shadow:none!important;
    font-size:.875rem!important;
  }

  html[data-mode="light"] body#app .map-viewport-actions #map-reset{
    background:#fff!important;
    border-color:#cbd5e1!important;
    color:#334155!important;
    box-shadow:0 2px 8px #0f172a1a!important;
  }
}


/* v1022 修复：手机复位按钮与PC端完全共用样式，只改变位置 */
@media(max-width:1023px){
  body#app .map-viewport-actions #map-reset{
    width:auto!important;
    height:38px!important;
    min-width:38px!important;
    padding:0 10px!important;
    border:1px solid rgb(var(--border))!important;
    border-radius:8px!important;
    background:rgb(var(--bg-card))!important;
    color:rgb(var(--text))!important;
    box-shadow:0 2px 8px rgb(0 0 0/.08)!important;
    font-size:.8rem!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
  }

  html[data-mode="light"] body#app .map-viewport-actions #map-reset{
    background:#fff!important;
    border-color:#cbd5e1!important;
    color:#334155!important;
    box-shadow:0 2px 8px #0f172a1a!important;
  }
}

/* v1030 - 物品收集：手机端分类标签紧凑显示，避免横向滚动条 */
@media (max-width:560px){
    .collection-toolbar-unified .collection-tabs{
        width:100%;
        min-height:52px;
        gap:0!important;
        overflow-x:hidden!important;
        justify-content:space-between;
    }
    .collection-toolbar-unified .collection-tabs button{
        flex:0 1 auto;
        min-width:0;
        min-height:52px;
        padding:0 4px!important;
        gap:4px!important;
        font-size:13px!important;
        letter-spacing:0;
    }
    .collection-toolbar-unified .collection-tabs button i{
        flex:0 0 auto;
        font-size:13px!important;
    }
    .collection-toolbar-unified .collection-tabs button::after{
        left:4px;
        right:4px;
    }
}
@media (max-width:390px){
    .collection-toolbar-unified .collection-tabs button{
        padding:0 2px!important;
        gap:3px!important;
        font-size:12px!important;
    }
    .collection-toolbar-unified .collection-tabs button i{
        font-size:12px!important;
    }
}

/* v1037: map drawing tools active state.
   Use the site's real theme color (--p-500) for the outline, while keeping the normal button background. */
body#app .map-draw-tools button.is-active{
  border-color:rgb(var(--p-500))!important;
  box-shadow:0 0 0 1px rgb(var(--p-500))!important;
  color:rgb(var(--text))!important;
}
html:not([data-mode="light"]) body#app .map-draw-tools button.is-active{
  background:rgb(var(--bg-card))!important;
}
html[data-mode="light"] body#app .map-draw-tools button.is-active{
  border-color:rgb(var(--p-500))!important;
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:0 0 0 1px rgb(var(--p-500))!important;
}


/* Tarkov Logs 多账号选择弹窗：跟随全站明/暗主题 */
.tarkov-log-account-picker-overlay{position:fixed;inset:0;z-index:10050;background:rgb(0 0 0/.55);display:flex;align-items:center;justify-content:center;padding:20px}
.tarkov-log-account-picker-panel{width:min(620px,100%);max-height:82vh;overflow:auto;background:rgb(var(--bg-card));border:1px solid rgb(var(--border));border-radius:14px;box-shadow:0 20px 60px rgb(0 0 0/.28);padding:20px;color:rgb(var(--text))}
.tarkov-log-account-picker-title{font-size:18px;font-weight:700;margin-bottom:6px;color:rgb(var(--text))}
.tarkov-log-account-picker-desc{font-size:13px;color:rgb(var(--text-muted));line-height:1.6;margin-bottom:14px}
.tarkov-log-account-choice{display:block;width:100%;text-align:left;background:rgb(var(--bg));border:1px solid rgb(var(--border));border-radius:10px;padding:12px 14px;margin:8px 0;color:rgb(var(--text));cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s}
.tarkov-log-account-choice:hover,.tarkov-log-account-choice:focus-visible{border-color:rgb(var(--p-500));background:rgb(var(--p-500)/.06);outline:none;box-shadow:0 0 0 2px rgb(var(--p-500)/.10)}
.tarkov-log-account-choice-main{font-size:14px;font-weight:700;margin-bottom:5px;color:rgb(var(--text))}
.tarkov-log-account-choice-sub{font-size:12px;color:rgb(var(--text-muted))}
.tarkov-log-account-picker-cancel{margin-top:10px;padding:8px 14px;border:1px solid rgb(var(--border-soft));border-radius:8px;background:transparent;color:rgb(var(--text-dim));cursor:pointer;transition:border-color .15s,color .15s,background-color .15s}
.tarkov-log-account-picker-cancel:hover,.tarkov-log-account-picker-cancel:focus-visible{border-color:rgb(var(--p-500));color:rgb(var(--p-500));background:rgb(var(--p-500)/.05);outline:none}


/* v1057: map task/story requirement hints under floor chips */
.map-panel-right .map-task-requirements{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px 10px;
  margin-top:6px;
  padding:0 10px;
  font-size:.68rem;
  line-height:1.45;
  color:rgb(var(--text));
}
.map-panel-right .map-task-requirements span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-width:0;
  white-space:normal;
  color:inherit;
}
.map-panel-right .map-task-requirements i{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.66rem;
  line-height:1;
  color:rgb(var(--accent));
}
html[data-mode="light"] .map-panel-right .map-task-requirements{
  color:rgb(var(--text));
}

/* v1072: night-mode map reset/fullscreen/drawing controls match zoom controls.
   Earlier neutral rules forced these buttons transparent; keep the same solid card surface as +/- zoom. */
html:not([data-mode="light"]) body#app .interactive-map .map-viewport-actions button,
html:not([data-mode="light"]) body#app .interactive-map .map-draw-tools button{
  background:rgb(var(--bg-card))!important;
  border-color:rgb(var(--border))!important;
  color:rgb(var(--text))!important;
  box-shadow:0 2px 8px rgb(0 0 0/.08)!important;
  backdrop-filter:none!important;
}
html:not([data-mode="light"]) body#app .interactive-map .map-viewport-actions button:hover,
html:not([data-mode="light"]) body#app .interactive-map .map-viewport-actions button:focus,
html:not([data-mode="light"]) body#app .interactive-map .map-viewport-actions button:focus-visible,
html:not([data-mode="light"]) body#app .interactive-map .map-draw-tools button:hover,
html:not([data-mode="light"]) body#app .interactive-map .map-draw-tools button:focus,
html:not([data-mode="light"]) body#app .interactive-map .map-draw-tools button:focus-visible{
  background:rgb(var(--bg-card))!important;
  border-color:rgb(var(--p-500))!important;
  color:rgb(var(--p-500))!important;
  outline:none!important;
}
/* Active drawing tool keeps its theme outline, but does not turn transparent. */
html:not([data-mode="light"]) body#app .interactive-map .map-draw-tools button.is-active{
  background:rgb(var(--bg-card))!important;
  border-color:rgb(var(--p-500))!important;
  color:rgb(var(--text))!important;
  box-shadow:0 0 0 1px rgb(var(--p-500)),0 2px 8px rgb(0 0 0/.08)!important;
}

/* v1073: map drag must never start browser text/image selection. */
body#app .interactive-map .map-viewport,
body#app .interactive-map .map-viewport *{
  -webkit-user-select:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}
body#app .interactive-map .map-viewport-actions button,
body#app .interactive-map .map-draw-tools button,
body#app .interactive-map .map-zoom button{
  -webkit-user-select:none!important;
  user-select:none!important;
}
body#app .interactive-map .map-viewport.is-dragging{
  cursor:grabbing!important;
}

/* v1076: 剧情目标完成按钮与剧情状态按钮统一视觉；完成状态文字保持白色 */
.storyline-objective .obj-done-btn {
  width: 88px !important;
  min-width: 88px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  border-width: 1px !important;
  border-style: solid !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
}
.storyline-objective[data-done="0"] .obj-done-btn {
  background: rgb(var(--bg-card-soft)) !important;
  border-color: rgb(var(--border)) !important;
  color: rgb(var(--text)) !important;
}
.storyline-objective[data-done="0"] .obj-done-btn:hover {
  background: rgb(var(--border)) !important;
  border-color: rgb(var(--border-soft)) !important;
  color: rgb(var(--text)) !important;
}
.storyline-objective[data-done="1"] .obj-done-btn {
  background: #059669 !important;
  border-color: #10b981 !important;
  color: #fff !important;
}
.storyline-objective[data-done="1"] .obj-done-btn:hover {
  background: #047857 !important;
  border-color: #34d399 !important;
  color: #fff !important;
}
/* 防止浅色模式或子元素规则覆盖“已完成”文字颜色 */
.storyline-complete-btn.progress-state-btn[data-complete="1"],
.storyline-complete-btn.progress-state-btn[data-complete="1"] span,
.storyline-complete-btn.progress-state-btn[data-complete="1"] i {
  color: #fff !important;
}



/* Storyline countbox: task-detail-identical interaction, no special hover styling. */
.task-required-item-countbox[data-story-item-edit] > :not(input){
  pointer-events:none;
}


/* v1082: unify storyline objective action buttons, fix hash jump offset, and keep map sync consistent. */
.storyline-objective[id],
.storyline-unlock-method[id],
#objList .obj-block[id] {
  scroll-margin-top: 92px;
}
@media (max-width: 1023px) {
  .storyline-objective[id],
  .storyline-unlock-method[id],
  #objList .obj-block[id] {
    scroll-margin-top: 120px;
  }
}
.storyline-objective .obj-action-btn {
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 12px !important;
  border-radius: 8px !important;
  border-width: 1px !important;
  border-style: solid !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
}
.storyline-objective .obj-map-btn {
  background: rgb(var(--bg-card-soft)) !important;
  border-color: rgb(var(--border)) !important;
  color: rgb(var(--text)) !important;
  text-decoration: none !important;
}
.storyline-objective .obj-map-btn:hover,
.storyline-objective .obj-map-btn:focus,
.storyline-objective .obj-map-btn:focus-visible,
.storyline-objective .obj-map-btn:active {
  background: rgb(var(--border)) !important;
  border-color: rgb(var(--border-soft)) !important;
  color: rgb(var(--text)) !important;
  text-decoration: none !important;
}
.storyline-objective .obj-action-btn.obj-done-btn {
  width: 88px !important;
  min-width: 88px !important;
}


/* v1090: 藏身处“全部”物品统计固定列宽；战局中需求独立一列，避免总需列换行导致表头错位。 */
.hideout-global-stats-table{
  table-layout:fixed;
}
.hideout-global-stats-table .hideout-stat-col-item{
  width:250px;
}
.hideout-global-stats-table .hideout-stat-col-num{
  width:72px;
}
.hideout-global-stats-table .hideout-stat-col-source{
  width:auto;
}
.hideout-global-stats-table th,
.hideout-global-stats-table td{
  vertical-align:middle;
}
.hideout-global-stats-table th:nth-child(2),
.hideout-global-stats-table th:nth-child(3),
.hideout-global-stats-table th:nth-child(4),
.hideout-global-stats-table th:nth-child(5),
.hideout-global-stats-table td:nth-child(2),
.hideout-global-stats-table td:nth-child(3),
.hideout-global-stats-table td:nth-child(4),
.hideout-global-stats-table td:nth-child(5){
  text-align:right;
}
@media (max-width: 940px){
  .hideout-global-stats-table{
    min-width:760px;
  }
  .hideout-global-stats-table .hideout-stat-col-item{
    width:190px;
  }
  .hideout-global-stats-table .hideout-stat-col-num{
    width:64px;
  }
}


/* v1094: 剧情详情标题图标统一固定外框尺寸，不受原始图片尺寸/透明留白影响。 */
.storyline-title-icon-box{
  width:64px;
  height:64px;
  min-width:64px;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid rgb(var(--border));
  border-radius:12px;
  background:rgb(var(--bg-card-soft));
}
.storyline-title-icon{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
}
@media (max-width: 640px){
  .storyline-title-icon-box{
    width:56px;
    height:56px;
    min-width:56px;
    min-height:56px;
  }
}

/* v1097: 剧情抉择 / 条件分支 */
.story-choice-card{
  background:rgb(var(--bg-card));
  border-color:rgb(var(--border));
}
.story-choice-head{border-color:rgb(var(--border));color:rgb(var(--text));}
.story-choice-head i{color:rgb(var(--p-600));}
.story-choice-desc,.story-choice-current{color:rgb(var(--muted));}
.story-choice-option{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  width:100%;
  min-height:54px;
  padding:10px 12px;
  border:1px solid rgb(var(--border));
  border-radius:8px;
  background:rgb(var(--bg-card-soft));
  color:rgb(var(--text));
  text-align:left;
  cursor:pointer;
}
.story-choice-option:hover:not(:disabled){border-color:rgb(var(--p-500));}
.story-choice-option.is-selected{
  border-color:#10b981;
  background:rgba(16,185,129,.10);
}
.story-choice-option:disabled{cursor:not-allowed;opacity:.58;}
.story-choice-option-title{font-size:14px;font-weight:600;}
.story-choice-option-desc{font-size:12px;color:rgb(var(--muted));}
.story-choice-selected{font-size:11px;color:#10b981;font-weight:600;}
html[data-mode="light"] .story-choice-option.is-selected{background:#ecfdf5;}


/* v1099: 剧情抉择与普通目标统一视觉 */
.story-choice-card .obj-index{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  min-height:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:9999px !important;
  color:rgb(var(--p-400)) !important;
  background:rgb(var(--p-500) / .15) !important;
  line-height:1 !important;
}
html[data-mode="light"] .story-choice-card .obj-index{
  color:rgb(var(--p-600)) !important;
  background:rgb(var(--p-500) / .12) !important;
}
.story-choice-card[data-step-done="1"] .obj-index{
  color:#34d399 !important;
  background:rgb(16 185 129 / .18) !important;
}
html[data-mode="light"] .story-choice-card[data-step-done="1"] .obj-index{
  color:#059669 !important;
  background:#d1fae5 !important;
}
.story-choice-option{
  outline:none !important;
  box-shadow:none !important;
}
.story-choice-option:hover:not(:disabled):not(.is-selected){
  border-color:rgb(var(--border)) !important;
  background:rgb(var(--bg-card)) !important;
}
.story-choice-option:focus,
.story-choice-option:focus-visible,
.story-choice-option:active{
  outline:none !important;
  box-shadow:none !important;
}
.story-choice-option:focus:not(.is-selected),
.story-choice-option:focus-visible:not(.is-selected),
.story-choice-option:active:not(.is-selected){
  border-color:rgb(var(--border)) !important;
}
.story-choice-option.is-selected,
.story-choice-option.is-selected:hover,
.story-choice-option.is-selected:focus,
.story-choice-option.is-selected:focus-visible{
  border-color:#10b981 !important;
}
.story-choice-option-desc{
  white-space:normal;
  line-height:1.55;
}


/* v1100: 抉择选项 hover 与全站卡片统一为轻微提示，不改变为透明/白底 */
.story-choice-option:hover:not(:disabled):not(.is-selected){
  border-color:rgb(var(--border)) !important;
  background:rgb(var(--p-500) / .055) !important;
  box-shadow:none !important;
}
html[data-mode="light"] .story-choice-option:hover:not(:disabled):not(.is-selected){
  background:rgb(var(--p-500) / .045) !important;
}
.story-choice-option.is-selected:hover{
  background:rgba(16,185,129,.10) !important;
  border-color:#10b981 !important;
}


/* v1102: 抉择“已选择”固定在卡片右上角，不参与文档流，避免选中后卡片高度变化 */
.story-choice-option{
  position:relative !important;
  padding-right:72px !important;
}
.story-choice-selected{
  position:absolute !important;
  top:10px !important;
  right:12px !important;
  margin:0 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}


/* v1103: 剧情解锁方式独立成组，不再与普通剧情目标混淆 */
.story-unlock-section{
  border:1px solid rgb(var(--border));
  border-radius:12px;
  overflow:hidden;
  background:rgb(var(--bg-card));
}
.story-unlock-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid rgb(var(--border));
}
.story-unlock-section-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  font-size:15px;
}
.story-unlock-section-title i{
  color:rgb(var(--p-500));
}
.story-unlock-count{
  font-size:12px;
  color:rgb(var(--text-muted));
}
.story-unlock-hint{
  padding:8px 14px;
  font-size:12px;
  color:rgb(var(--text-muted));
  background:rgb(var(--bg-card-soft));
  border-bottom:1px solid rgb(var(--border));
}
.story-unlock-list{
  display:flex;
  flex-direction:column;
}
.story-unlock-card{
  background:rgb(var(--bg-card));
}
.story-unlock-card + .story-unlock-card{
  border-top:1px solid rgb(var(--border));
}
.story-unlock-card-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
}
.story-unlock-method-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  height:26px;
  padding:0 9px;
  border-radius:7px;
  border:1px solid rgb(var(--border));
  background:rgb(var(--bg-card-soft));
  color:rgb(var(--text-muted));
  font-size:12px;
  font-weight:600;
  flex-shrink:0;
}
.story-unlock-method-badge.single{
  min-width:66px;
}
.story-unlock-card .story-objective-requirements,
.story-unlock-card > .rich-guide-content{
  border-top:1px solid rgb(var(--border)) !important;
}
@media (max-width:640px){
  .story-unlock-card-head{
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .story-unlock-card-head .obj-action-btn{
    margin-left:auto;
  }
}


/* v1104: 多解锁方式使用可切换卡片，只展示当前方式详情 */
.story-unlock-switcher{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:8px;
  padding:10px 12px;
  border-bottom:1px solid rgb(var(--border));
  background:rgb(var(--bg-card));
}
.story-unlock-switch{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 11px;
  border:1px solid rgb(var(--border));
  border-radius:9px;
  background:rgb(var(--bg-card-soft));
  color:rgb(var(--text));
  text-align:left;
  cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease;
}
.story-unlock-switch:hover{
  background:rgb(var(--p-500) / .055);
}
.story-unlock-switch.is-active{
  border-color:rgb(var(--p-500));
  background:rgb(var(--p-500) / .10);
}
.story-unlock-switch-no{
  flex-shrink:0;
  padding:3px 7px;
  border-radius:6px;
  background:rgb(var(--bg-card));
  color:rgb(var(--text-muted));
  font-size:11px;
  font-weight:700;
}
.story-unlock-switch.is-active .story-unlock-switch-no{
  color:rgb(var(--p-500));
}
.story-unlock-switch-title{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  font-weight:600;
}
.story-unlock-card.is-hidden{
  display:none !important;
}
@media (max-width:640px){
  .story-unlock-switcher{
    grid-template-columns:1fr;
  }
}


/* v1105: 地图右侧任务需求提示图标与文字垂直居中 */
.map-panel-right .map-task-requirements span{
  vertical-align:middle;
}


/* v1106: 多解锁方式不重复显示标题；夜间“方式 1/2/3”提高对比度 */
.story-unlock-card-head-actions{
  min-height:0 !important;
  padding:8px 12px !important;
}
html[data-mode="dark"] .story-unlock-switch-no{
  color:#f5f5f5 !important;
  background:#0f172a !important;
  border:1px solid #334155 !important;
}
html[data-mode="dark"] .story-unlock-switch.is-active .story-unlock-switch-no{
  color:#ffffff !important;
  background:rgb(var(--p-500) / .28) !important;
  border-color:rgb(var(--p-500) / .72) !important;
}


/* v1107: 多解锁方式顶部只显示方式编号；展开标题与地图按钮同一行 */
.story-unlock-switcher{
  grid-template-columns:repeat(auto-fit,minmax(100px,1fr)) !important;
}
.story-unlock-switch{
  justify-content:center !important;
  padding:9px 10px !important;
}
.story-unlock-switch-title{
  display:none !important;
}
.story-unlock-card-head-actions{
  min-height:48px !important;
  padding:10px 12px !important;
}

/* 解锁方式里的“查看地图位置”与普通剧情目标完全一致 */
.story-unlock-card .obj-map-btn{
  background:rgb(var(--bg-card-soft)) !important;
  border:1px solid rgb(var(--border)) !important;
  color:rgb(var(--text)) !important;
  text-decoration:none !important;
  box-shadow:none !important;
}
.story-unlock-card .obj-map-btn:hover,
.story-unlock-card .obj-map-btn:focus,
.story-unlock-card .obj-map-btn:focus-visible,
.story-unlock-card .obj-map-btn:active{
  background:rgb(var(--border)) !important;
  border-color:rgb(var(--border-soft)) !important;
  color:rgb(var(--text)) !important;
  text-decoration:none !important;
}


/* v1108: 解锁方式筛选只保留纯文字；去掉切换后的多余焦点/分隔线 */
.story-unlock-switch-no{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:rgb(var(--text)) !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}
.story-unlock-switch.is-active .story-unlock-switch-no{
  color:rgb(var(--p-500)) !important;
  background:transparent !important;
  border:0 !important;
}
html[data-mode="dark"] .story-unlock-switch-no,
html[data-mode="dark"] .story-unlock-switch.is-active .story-unlock-switch-no{
  background:transparent !important;
  border:0 !important;
}
html[data-mode="dark"] .story-unlock-switch-no{
  color:rgb(var(--text)) !important;
}
html[data-mode="dark"] .story-unlock-switch.is-active .story-unlock-switch-no{
  color:rgb(var(--p-400)) !important;
}

.story-unlock-switch,
.story-unlock-switch:hover,
.story-unlock-switch:focus,
.story-unlock-switch:focus-visible,
.story-unlock-switch:active{
  outline:none !important;
  box-shadow:none !important;
  text-decoration:none !important;
}
.story-unlock-switcher{
  border-bottom:0 !important;
}


/* v1109: 恢复筛选区正常分隔线；去掉切换到方式2/3时详情顶部的圆角横线 */
.story-unlock-switcher{
  border-bottom:1px solid rgb(var(--border)) !important;
}
.story-unlock-card.is-multi{
  border-radius:0 !important;
  border-top:0 !important;
}
.story-unlock-card.is-multi + .story-unlock-card.is-multi{
  border-top:0 !important;
}

/* 手机端解锁方式标题和地图按钮保持同一行并上下居中 */
@media (max-width:640px){
  .story-unlock-card-head,
  .story-unlock-card-head-actions{
    align-items:center !important;
    flex-wrap:nowrap !important;
  }
  .story-unlock-card-head .obj-title{
    line-height:1.45 !important;
  }
  .story-unlock-card-head .obj-action-btn{
    margin-left:auto !important;
    align-self:center !important;
  }
}


/* v1114: 剧情目标可在多张地图任选其一时，按地图切换各自标记截图 */
.story-objective-map-guide{
  background:rgb(var(--bg-card));
}
.story-objective-map-tabs{
  display:flex;
  gap:0;
  padding:0 12px;
  background:rgb(var(--bg-card-soft));
  border-bottom:1px solid rgb(var(--border));
  overflow-x:auto;
}
.story-objective-map-tab{
  position:relative;
  min-width:max-content;
  padding:10px 18px;
  border:0;
  background:transparent;
  color:rgb(var(--text-muted));
  font-size:13px;
  font-weight:600;
  cursor:pointer;
}
.story-objective-map-tab:hover{
  color:rgb(var(--text));
}
.story-objective-map-tab.is-active{
  color:rgb(var(--p-500));
}
.story-objective-map-tab.is-active::after{
  content:'';
  position:absolute;
  left:12px;
  right:12px;
  bottom:0;
  height:2px;
  border-radius:2px 2px 0 0;
  background:rgb(var(--p-500));
}
.story-objective-map-panel.is-hidden{
  display:none !important;
}
.story-objective-map-panel-head{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 12px;
  border-bottom:1px solid rgb(var(--border));
  font-weight:600;
}
.story-objective-map-images{
  display:flex;
  flex-direction:column;
}
.story-objective-map-images img{
  display:block;
  width:100%;
  height:auto;
}
@media (max-width:640px){
  .story-objective-map-tabs{
    padding:0 8px;
  }
  .story-objective-map-tab{
    padding:9px 12px;
  }
  .story-objective-map-panel-head{
    align-items:center;
  }
  .story-objective-map-panel-head > span{
    min-width:0;
    line-height:1.35;
  }
}


/* v1115: 分地图攻略内容由剧情后台手动维护，不再读取地图标点图片 */
.story-objective-map-content{
  padding:12px;
  background:rgb(var(--bg-card));
}
.story-objective-map-content img{
  display:block;
  max-width:100%;
  height:auto;
  margin:8px auto;
}


/* v1116: 多地图剧情攻略使用内嵌卡片样式；标题行不再显示只指向第一张地图的按钮 */
.story-objective-map-guide{
  margin:12px !important;
  border:1px solid rgb(var(--border)) !important;
  border-radius:10px !important;
  overflow:hidden !important;
  background:rgb(var(--bg-card)) !important;
}
.story-objective-map-guide.border-t{
  border-top:1px solid rgb(var(--border)) !important;
}
.story-objective-map-tabs{
  padding:0 10px !important;
  background:rgb(var(--bg-card-soft)) !important;
  border-bottom:1px solid rgb(var(--border)) !important;
}
.story-objective-map-panel-head{
  min-height:46px !important;
  padding:8px 12px !important;
  border-bottom:1px solid rgb(var(--border)) !important;
  background:rgb(var(--bg-card)) !important;
}
.story-objective-map-content{
  padding:12px !important;
  background:rgb(var(--bg-card)) !important;
}
.story-objective-map-content > :first-child{
  margin-top:0 !important;
}
.story-objective-map-content > :last-child{
  margin-bottom:0 !important;
}
.story-objective-map-content p{
  margin:0 0 10px !important;
}
.story-objective-map-content img{
  display:block !important;
  max-width:100% !important;
  width:auto !important;
  height:auto !important;
  margin:0 auto 10px !important;
  border-radius:8px !important;
}
.story-objective-map-content img:last-child{
  margin-bottom:0 !important;
}
.story-objective-map-panel .obj-map-btn{
  border:1px solid rgb(var(--border)) !important;
  background:rgb(var(--bg-card-soft)) !important;
  color:rgb(var(--text)) !important;
}
.story-objective-map-panel .obj-map-btn:hover{
  background:rgb(var(--border)) !important;
  border-color:rgb(var(--border-soft)) !important;
}
@media (max-width:640px){
  .story-objective-map-guide{
    margin:10px !important;
  }
  .story-objective-map-content{
    padding:10px !important;
  }
}


/* v1119: 剧情目标通用详情显示在分地图攻略筛选之前 */
.story-objective-general-guide{
  background:rgb(var(--bg-card)) !important;
}
.story-objective-general-guide + .story-objective-map-guide{
  margin-top:12px !important;
}


/* v1127: 悬浮地图仅隐藏自己的“当前位置”文字，保留位置图钉/朝向；队友不受影响 */
body.map-floating-standalone .map-live-player .map-player-location-label{
  display:none!important;
}


/* v1128: 画笔粗细选择。只在画笔启用时显示，2/4/6/8 四档；旧线条仍按原 8px 显示。 */
.map-brush-size-picker{
  position:absolute;
  left:calc(100% + 7px);
  top:0;
  display:grid;
  grid-template-columns:repeat(4,34px);
  align-items:center;
  gap:4px;
  width:max-content;
  max-width:calc(100vw - 120px);
  padding:4px;
  border:1px solid rgb(var(--border));
  border-radius:8px;
  background:rgb(var(--bg-card));
  box-shadow:0 2px 10px rgb(0 0 0/.12);
  white-space:nowrap;
}

.map-brush-usage-hint{
  position:absolute;
  left:0;
  top:calc(100% + 4px);
  width:max-content;
  max-width:330px;
  padding:5px 8px;
  border:1px solid rgb(var(--border));
  border-radius:6px;
  background:rgb(var(--bg-card));
  box-shadow:0 2px 8px rgb(0 0 0/.10);
  color:rgb(var(--text-dim));
  font-size:11px;
  line-height:1.45;
  text-align:left;
  white-space:nowrap;
  z-index:2;
}
.map-brush-size-picker[hidden]{display:none!important}
.map-draw-tools .map-brush-size-picker .map-brush-size-option{
  width:34px;
  height:28px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  border-radius:6px;
  box-shadow:none;
}
.map-brush-size-option>span{
  display:block;
  width:11px;
  height:var(--brush-preview,4px);
  max-height:8px;
  border-radius:999px;
  background:currentColor;
}
.map-brush-size-option>em{
  font-style:normal;
  font-size:10px;
  line-height:1;
  font-weight:700;
}
.map-draw-tools .map-brush-size-picker .map-brush-size-option.is-active{
  border-color:rgb(var(--p-500));
  color:rgb(var(--p-500));
  background:rgb(var(--p-500)/.08);
}
html:not([data-mode="light"]) body#app .interactive-map .map-brush-size-picker{
  background:#111315;
  border-color:#34383d;
}
html[data-mode="light"] body#app .interactive-map .map-brush-size-picker{
  background:#fff;
  border-color:#cbd5e1;
}
@media (max-width:939.98px){
  .map-brush-size-picker{left:calc(100% + 6px);grid-template-columns:repeat(4,30px)}
  .map-draw-tools .map-brush-size-picker .map-brush-size-option{width:30px;height:30px}
  .map-brush-size-option>em{display:none}
  .map-brush-usage-hint{font-size:10px;max-width:calc(100vw - 120px);white-space:normal}
}


/* v1132: 剧情详情目标导航必须拥有自己的滚动区域。
   高度由 JS 按“从导航顶部到当前视口底部”的剩余空间实时计算。 */
.storyline-objective-nav{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
.storyline-objective-nav::-webkit-scrollbar{width:7px}
.storyline-objective-nav::-webkit-scrollbar-thumb{
  background:rgb(100 116 139 / .38);
  border-radius:999px;
}
.storyline-objective-nav::-webkit-scrollbar-track{background:transparent}


/* v1139: 剧情右栏使用“有边界的吸顶”。
   正文内保持可见；评论区接近时整栏跟随正文一起向上离开。 */
@media (min-width:1024px){
  .storyline-side-sticky.is-js-sticky{
    z-index:35;
    margin:0 !important;
  }
}


/* v1153 - article content tables */
.article-rich-content{
    overflow-wrap:anywhere;
}
.article-rich-content table{
    width:100% !important;
    max-width:100%;
    border-collapse:collapse !important;
    border-spacing:0 !important;
    margin:14px 0;
    table-layout:auto;
    border:1px solid #3f3f46 !important;
}
.article-rich-content th,
.article-rich-content td{
    border:1px solid #3f3f46 !important;
    padding:8px 10px !important;
    vertical-align:middle;
    color:#e5e7eb;
    background:#161616;
}
.article-rich-content th{
    font-weight:600;
    background:#202024;
}
.article-rich-content tr:nth-child(even) td{
    background:#18181b;
}
html[data-mode="light"] .article-rich-content table{
    border-color:#cbd5e1 !important;
}
html[data-mode="light"] .article-rich-content th,
html[data-mode="light"] .article-rich-content td{
    border-color:#cbd5e1 !important;
    color:#0f172a;
    background:#fff;
}
html[data-mode="light"] .article-rich-content th{
    background:#f1f5f9;
}
html[data-mode="light"] .article-rich-content tr:nth-child(even) td{
    background:#f8fafc;
}
/* v1476 - honor KindEditor zero-border tables on article frontend.
   KindEditor marks border=0 tables with class="ke-zeroborder". */
.article-rich-content table.ke-zeroborder,
.article-rich-content table.ke-zeroborder th,
.article-rich-content table.ke-zeroborder td,
.article-rich-content table[border="0"],
.article-rich-content table[border="0"] th,
.article-rich-content table[border="0"] td,
.article-rich-content table[style*="border:0" i],
.article-rich-content table[style*="border: 0" i],
.article-rich-content table[style*="border-width:0" i],
.article-rich-content table[style*="border-width: 0" i],
.article-rich-content table[style*="border:0" i] th,
.article-rich-content table[style*="border:0" i] td,
.article-rich-content table[style*="border: 0" i] th,
.article-rich-content table[style*="border: 0" i] td,
.article-rich-content table[style*="border-width:0" i] th,
.article-rich-content table[style*="border-width:0" i] td,
.article-rich-content table[style*="border-width: 0" i] th,
.article-rich-content table[style*="border-width: 0" i] td{
    border:0 !important;
}

/* v1474 - honor editor table-cell alignment for images (spaces/nested wrappers included) */
.article-rich-content td[style*="center" i] img,
.article-rich-content th[style*="center" i] img,
.article-rich-content td[align="center" i] img,
.article-rich-content th[align="center" i] img{
    display:block !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
.article-rich-content td[style*="right" i] img,
.article-rich-content th[style*="right" i] img,
.article-rich-content td[align="right" i] img,
.article-rich-content th[align="right" i] img{
    display:block !important;
    margin-left:auto !important;
    margin-right:0 !important;
}
@media (max-width:640px){
    .article-rich-content table{ font-size:13px; }
    .article-rich-content th,
    .article-rich-content td{ padding:6px 7px !important; }
}



.item-rank-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.item-rank-related-card{display:flex;align-items:center;gap:.85rem;min-width:0;padding:.8rem .9rem;border:1px solid rgb(var(--border));border-radius:.7rem;background:transparent;color:rgb(var(--text));transition:none}
.item-rank-related-card:hover{background:transparent;border-color:rgb(var(--border));color:rgb(var(--text));transform:none}
.item-rank-related-card img{width:64px;height:64px;object-fit:contain;flex:0 0 64px}
.item-rank-related-card span{display:flex;flex-direction:column;min-width:0}
.item-rank-related-card strong{font-size:.9rem;font-weight:600;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-rank-related-card small{margin-top:.2rem;color:rgb(var(--text-muted));font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){.item-rank-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.item-rank-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.item-rank-related-grid{grid-template-columns:1fr}.item-rank-related-card img{width:56px;height:56px;flex-basis:56px}}


/* ===== Mobile map viewport fix v1194: Chrome dynamic toolbar / safe area ===== */
.interactive-map:fullscreen{
  height:100vh;
  height:100dvh;
}
@media(max-width:1023px){
  .interactive-map{
    height:calc(100vh - 3.5rem);
    height:calc(100dvh - 3.5rem);
    min-height:0;
  }
  .interactive-map .map-panel{
    height:100%;
    max-height:none;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px));
    box-sizing:border-box;
  }
  .interactive-map .map-canvas-shell{
    min-height:0;
    height:100%;
  }
}


/* ===== 任务树形图 ===== */
.task-tree-shell{
    height:calc(100vh - 3.5rem);
    height:calc(100dvh - 3.5rem);
    min-height:620px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:rgb(var(--bg));
    color:rgb(var(--text));
    user-select:none;
    -webkit-user-select:none;
}
.task-tree-toolbar{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:10px 16px;
    border-bottom:1px solid rgb(var(--border));
    background:rgb(var(--bg-card));
    box-shadow:0 1px 0 rgba(0,0,0,.02);
    z-index:5;
}
.task-tree-search{
    display:flex;
    align-items:center;
    height:38px;
    min-width:360px;
    border:1px solid rgb(var(--border));
    border-radius:8px;
    overflow:hidden;
    background:rgb(var(--bg-card-soft));
}
.task-tree-search i{
    margin-left:11px;
    color:rgb(var(--text-muted));
}
.task-tree-search input{
    min-width:0;
    flex:1;
    height:100%;
    border:0;
    background:transparent;
    outline:0;
    padding:0 10px;
    color:rgb(var(--text));
    font-size:14px;
}
.task-tree-search input::placeholder{color:rgb(var(--text-muted))}
.task-tree-search button,
.task-tree-toolbar>button{
    height:38px;
    min-width:56px;
    padding:0 13px;
    border:1px solid rgb(var(--border));
    background:rgb(var(--bg-card-soft));
    color:rgb(var(--text));
    border-radius:8px;
    cursor:pointer;
    font:inherit;
    font-size:14px;
    line-height:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
}
.task-tree-search button{
    border:0;
    border-left:1px solid rgb(var(--border));
    border-radius:0;
}
.task-tree-search button:hover,
.task-tree-toolbar>button:hover{
    background:rgb(var(--p-500)/.10);
    color:rgb(var(--p-500));
}
.task-tree-filter,
.task-tree-check{
    display:flex;
    align-items:center;
    gap:7px;
    color:rgb(var(--text));
    font-size:13px;
    white-space:nowrap;
}
.task-tree-filter>span{color:rgb(var(--text-muted))}
.task-tree-filter select{
    height:38px;
    border:1px solid rgb(var(--border));
    border-radius:8px;
    padding:0 30px 0 10px;
    background:rgb(var(--bg-card-soft));
    color:rgb(var(--text));
    outline:none;
}
.task-tree-check input{accent-color:rgb(var(--p-500))}
.task-tree-viewport{
    position:relative;
    flex:1;
    min-height:0;
    overflow:hidden;
    cursor:grab;
    touch-action:none;
    user-select:none;
    -webkit-user-select:none;
    background-color:#0b0d10;
    background-image:linear-gradient(#20242a 1px,transparent 1px),linear-gradient(90deg,#20242a 1px,transparent 1px);
    background-size:48px 48px;
}
html[data-mode="light"] .task-tree-viewport{
    background-color:#f5f7f9;
    background-image:linear-gradient(#dce2e8 1px,transparent 1px),linear-gradient(90deg,#dce2e8 1px,transparent 1px);
    background-size:48px 48px;
}
.task-tree-viewport.is-panning{cursor:grabbing}
.task-tree-world{
    position:absolute;
    left:0;
    top:0;
    min-width:6000px;
    min-height:4000px;
    transform-origin:0 0;
    isolation:isolate;
}
.task-tree-lines{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    overflow:visible;
    pointer-events:none;
    z-index:1;
}
.task-tree-edge{
    fill:none;
    stroke:rgb(var(--p-500));
    stroke-opacity:.82;
    stroke-width:3;
    stroke-linecap:round;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
}
.task-tree-node{
    position:absolute;
    z-index:2;
    height:auto;
    overflow:hidden;
    border:1px solid rgb(var(--border));
    border-radius:10px;
    background:rgb(var(--bg-card));
    color:rgb(var(--text));
    box-shadow:0 3px 14px rgba(0,0,0,.08);
    transition:opacity .15s,box-shadow .15s,border-color .15s;
}
.task-tree-node:hover{
    border-color:rgba(var(--p-500),.70);
    box-shadow:0 7px 22px rgba(var(--p-500),.14);
}
.task-tree-node.is-hidden{display:none}
.task-tree-node.is-faction-locked,
.task-tree-node.is-mode-locked{
    border-color:rgb(var(--border));
    background:rgb(var(--bg-card-soft));
    box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.task-tree-node.is-faction-locked:hover,
.task-tree-node.is-mode-locked:hover{
    border-color:rgb(var(--border));
    box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.task-tree-node.is-faction-locked .task-tree-card-link,
.task-tree-node.is-mode-locked .task-tree-card-link{
    background:rgb(var(--bg-card-soft));
    color:rgb(var(--text-muted));
    cursor:default;
}
.task-tree-node.is-faction-locked .task-tree-title,
.task-tree-node.is-faction-locked .task-tree-objectives,
.task-tree-node.is-faction-locked .task-tree-meta,
.task-tree-node.is-mode-locked .task-tree-title,
.task-tree-node.is-mode-locked .task-tree-objectives,
.task-tree-node.is-mode-locked .task-tree-meta{
    color:rgb(var(--text-muted));
    opacity:.78;
}
.task-tree-node.is-faction-locked .task-tree-level,
.task-tree-node.is-faction-locked .task-tree-trader-avatar,
.task-tree-node.is-mode-locked .task-tree-level,
.task-tree-node.is-mode-locked .task-tree-trader-avatar{
    opacity:.62;
    filter:grayscale(1);
}
.task-tree-node.is-faction-locked .task-tree-complete-btn,
.task-tree-node.is-mode-locked .task-tree-complete-btn{
    background:rgb(var(--bg-card-soft));
    color:rgb(var(--text-muted));
    border-top-color:rgb(var(--border));
    cursor:not-allowed;
}
.task-tree-node.is-dim-completed{
    opacity:1;
    filter:none;
    background:rgb(var(--bg-card));
    border-color:rgba(22,163,74,.28);
    box-shadow:0 2px 8px rgba(0,0,0,.035);
}
.task-tree-node.is-dim-completed .task-tree-card-link{
    color:rgb(var(--text));
}
.task-tree-node.is-dim-completed .task-tree-title,
.task-tree-node.is-dim-completed .task-tree-objectives{
    opacity:.58;
}
.task-tree-node.is-dim-completed .task-tree-meta{
    opacity:.68;
}
.task-tree-node.is-dim-completed .task-tree-complete-btn{
    background:rgba(22,163,74,.12);
    color:rgb(22 163 74);
    border-top-color:rgba(22,163,74,.18);
}
.task-tree-node.is-dim-completed:hover{
    border-color:rgba(22,163,74,.45);
    box-shadow:0 4px 14px rgba(22,163,74,.08);
}
.task-tree-card-link{
    display:block;
    padding:12px 13px 10px;
    color:rgb(var(--text));
    text-decoration:none;
}
.task-tree-card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:7px;
}
.task-tree-title{
    display:block;
    flex:1 1 auto;
    min-width:0;
    color:rgb(var(--text));
    font-size:16px;
    font-weight:700;
    line-height:1.35;
}
.task-tree-meta{
    display:flex;
    align-items:center;
    gap:6px;
    flex:0 0 auto;
}
.task-tree-level{
    width:34px;
    height:28px;
    padding:0;
    border:1px solid rgb(var(--border));
    border-radius:6px;
    background:rgb(var(--bg-card-soft));
    color:rgb(var(--text));
    font-size:11px;
    line-height:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
}
.task-tree-trader-avatar{
    display:block;
    width:28px;
    height:28px;
    object-fit:cover;
    border:1px solid rgb(var(--border));
    border-radius:6px;
    background:rgb(var(--bg-card-soft));
    box-sizing:border-box;
}
.task-tree-objectives{
    display:grid;
    gap:3px;
    color:rgb(var(--text));
    font-size:12px;
    line-height:1.35;
}
.task-tree-objective{
    white-space:normal;
    overflow-wrap:anywhere;
}
.task-tree-objective::before{
    content:"";
}
.task-tree-objectives-empty{
    color:rgb(var(--text-muted));
}
.task-tree-complete-btn{
    width:100%;
    height:36px;
    border:0;
    border-top:1px solid rgb(var(--border));
    background:rgb(var(--bg-card-soft));
    color:rgb(var(--text));
    font-weight:700;
    cursor:pointer;
}
.task-tree-complete-btn:hover{
    background:rgba(var(--p-500),.12);
    color:rgb(var(--p-500));
}
.task-tree-node.is-completed .task-tree-complete-btn{
    background:rgba(22,163,74,.13);
    color:rgb(22 163 74);
}
.task-tree-node .when-done,
.task-tree-node .when-faction-locked,
.task-tree-node .when-mode-locked,
.task-tree-node.is-completed .when-open{display:none}
.task-tree-node.is-completed .when-done{display:inline}
.task-tree-node.is-faction-locked .when-open,
.task-tree-node.is-faction-locked .when-done{display:none !important}
.task-tree-node.is-faction-locked .when-faction-locked{display:inline !important}
.task-tree-node.is-mode-locked .when-open,
.task-tree-node.is-mode-locked .when-done,
.task-tree-node.is-mode-locked .when-faction-locked{display:none !important}
.task-tree-node.is-mode-locked .when-mode-locked{display:inline !important}
/* 阵营/模式不匹配优先级高于“已完成”样式：保持实心灰卡，不出现绿色或透明叠色。 */
.task-tree-node.is-faction-locked,
.task-tree-node.is-faction-locked.is-completed,
.task-tree-node.is-faction-locked.is-dim-completed,
.task-tree-node.is-mode-locked,
.task-tree-node.is-mode-locked.is-completed,
.task-tree-node.is-mode-locked.is-dim-completed{
    background:rgb(var(--bg-card-soft)) !important;
    border-color:rgb(var(--border)) !important;
    box-shadow:0 2px 8px rgba(0,0,0,.04) !important;
}
.task-tree-node.is-faction-locked .task-tree-card-link,
.task-tree-node.is-faction-locked.is-completed .task-tree-card-link,
.task-tree-node.is-mode-locked .task-tree-card-link,
.task-tree-node.is-mode-locked.is-completed .task-tree-card-link{
    background:rgb(var(--bg-card-soft)) !important;
}
.task-tree-node.is-faction-locked .task-tree-complete-btn,
.task-tree-node.is-faction-locked.is-completed .task-tree-complete-btn,
.task-tree-node.is-mode-locked .task-tree-complete-btn,
.task-tree-node.is-mode-locked.is-completed .task-tree-complete-btn{
    background:rgb(var(--bg-card-soft)) !important;
    color:rgb(var(--text-muted)) !important;
    border-top-color:rgb(var(--border)) !important;
}
.task-tree-node.is-search-hit{
    border-color:rgb(var(--p-500));
    box-shadow:0 0 0 3px rgba(var(--p-500),.20),0 0 28px rgba(var(--p-500),.25);
}
.task-tree-empty{
    display:none;
    position:absolute;
    inset:0;
    align-items:center;
    justify-content:center;
    color:rgb(var(--text-muted));
    pointer-events:none;
}
.task-tree-empty.show{display:flex}
@media(max-width:900px){
    .task-tree-shell{height:calc(100dvh - 3.5rem);min-height:0}
    .task-tree-toolbar{min-height:54px;overflow-x:auto;padding:8px;justify-content:flex-start}
    .task-tree-search{min-width:240px}
    .task-tree-check{display:none}
}


.task-tree-shell *,
.task-tree-node *,
.task-tree-card-link{
    user-select:none;
    -webkit-user-select:none;
}
.task-tree-card-link,
.task-tree-trader-avatar{
    -webkit-user-drag:none;
}

/* v1215 task-tree toolbar simplification */
.task-tree-toolbar{
    justify-content:center !important;
}
.task-tree-toolbar .task-tree-search{
    width:min(520px,52vw);
    min-width:340px;
}
.task-tree-toolbar #task-tree-reset{
    height:38px;
    min-width:64px;
    padding:0 14px;
}
@media(max-width:900px){
    .task-tree-toolbar{
        justify-content:flex-start !important;
    }
    .task-tree-toolbar .task-tree-search{
        min-width:240px;
        width:72vw;
    }
}

/* v1219: footer remains hidden, but task-tree must have a definite viewport height.
   100% on the flex main had no definite percentage basis in some browsers, collapsing
   the actual tree viewport to 0px and leaving only the toolbar visible. */
.task-tree-shell{
    height:calc(100vh - 3.5rem) !important;
    height:calc(100dvh - 3.5rem) !important;
    min-height:0 !important;
}

/* v1220: 商人头像 / LL 分区结构节点 */
.task-tree-node-trader{
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
}
.task-tree-node-trader:hover{
    border-color:transparent;
    box-shadow:none;
}
.task-tree-node-trader img{
    display:block;
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:14px;
    border:2px solid rgb(var(--border));
    background:rgb(var(--bg-card));
    box-shadow:0 6px 20px rgba(0,0,0,.12);
}
.task-tree-node-section{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 12px;
    border:1px solid rgba(var(--p-500),.42);
    background:rgb(var(--bg-card));
    color:rgb(var(--p-600));
    font-weight:800;
    font-size:14px;
    text-align:center;
    box-shadow:0 3px 10px rgba(var(--p-500),.08);
}
.task-tree-node-section:hover{
    border-color:rgb(var(--p-500));
    box-shadow:0 5px 16px rgba(var(--p-500),.13);
}

/* v1224 前置剧情抉择引用：外观与普通剧情卡片统一，不再使用突兀外框 */
.story-prelude-choice-card{
    border:1px solid rgb(var(--border)) !important;
    background:rgb(var(--bg-card));
    box-shadow:none;
}
.story-prelude-choice-card .story-choice-head{
    background:transparent;
    border-bottom-color:rgb(var(--border)) !important;
}
.story-prelude-kicker{
    display:flex;
    align-items:center;
    gap:6px;
    color:rgb(var(--p-600));
    font-size:12px;
    font-weight:600;
}
.story-prelude-kicker i{font-size:11px;}

/* v1234: 模式专属任务与阵营专属任务一样不可交互。 */
.task-tree-node.is-mode-locked .task-tree-card-link,
.task-tree-node.is-mode-locked .task-tree-complete-btn{pointer-events:none;}

/* v1237 首页游戏内时间：颜色与商人补货倒计时一致 */
.home-tarkov-time-panel{
    min-height:64px;
    padding:12px 18px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.home-tarkov-time{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    min-width:0;
    color:rgb(var(--text));
    font-size:24px;
    line-height:1;
    font-weight:400;
    font-family:inherit;
    font-variant-numeric:tabular-nums;
    letter-spacing:0;
}
.home-tarkov-time>span{
    color:rgb(var(--text));
    font-weight:400;
}
@media(max-width:640px){
    .home-tarkov-time-panel{
        min-height:58px;
        padding:10px 12px;
    }
    .home-tarkov-time{
        gap:10px;
        font-size:20px;
    }
}


/* v1238 装备大轮盘 */
.roulette-page{max-width:1320px;margin:0 auto;padding:28px 20px 50px}
.roulette-hero,.roulette-options,.roulette-result,.roulette-empty{border:1px solid rgb(var(--border));background:rgb(var(--bg-card));border-radius:14px}
.roulette-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px}
.roulette-hero h1{font-size:24px;font-weight:800;margin:0 0 6px;color:rgb(var(--text))}.roulette-hero h1 i{color:rgb(var(--p-500));margin-right:6px}.roulette-hero p{margin:0;color:rgb(var(--text-muted));font-size:14px;line-height:1.7}
.roulette-generate{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:11px 18px;border:0;border-radius:9px;background:rgb(var(--p-500));color:#fff;font-weight:700;cursor:pointer}.roulette-generate:disabled{opacity:.65;cursor:wait}
.roulette-options{margin-top:14px;padding:13px 18px;display:flex;justify-content:center;gap:24px;color:rgb(var(--text));font-size:14px}.roulette-options label{display:flex;align-items:center;gap:6px;cursor:pointer}
.roulette-result{margin-top:14px;padding:14px}.roulette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.roulette-item{position:relative;display:flex;align-items:center;gap:14px;min-height:112px;padding:12px;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--bg-card));color:rgb(var(--text));text-decoration:none;box-shadow:0 2px 8px rgb(0 0 0/.04)}
.roulette-item-label{position:absolute;top:9px;right:10px;padding:3px 7px;border-radius:6px;background:rgb(var(--bg-card-soft));color:rgb(var(--text-muted));font-size:11px;font-weight:700}.roulette-item img{width:86px;height:86px;object-fit:contain;flex:none;border-radius:8px;background:rgb(var(--bg-card-soft))}.roulette-item-main{min-width:0;padding-right:58px}.roulette-item strong{display:block;font-size:16px;line-height:1.35;margin-bottom:6px}.roulette-item small{display:block;color:rgb(var(--text-muted));font-size:12px;line-height:1.45}.roulette-item .roulette-compatible{margin-top:6px;color:rgb(var(--p-600))}
.roulette-map-card{grid-column:1/-1;min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:14px;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--bg-card));box-shadow:0 2px 8px rgb(0 0 0/.04);color:rgb(var(--text));text-align:center}.roulette-map-label{font-size:12px;font-weight:700;color:rgb(var(--text-muted))}.roulette-map-card strong{font-size:20px;line-height:1.25}
.roulette-empty{margin-top:14px;padding:50px 20px;text-align:center;color:rgb(var(--text-muted))}
@media(max-width:760px){.roulette-page{padding:16px 12px 32px}.roulette-hero{align-items:stretch;flex-direction:column}.roulette-generate{justify-content:center}.roulette-options{justify-content:flex-start;flex-wrap:wrap;gap:12px 18px}.roulette-grid{grid-template-columns:1fr}.roulette-item{min-height:96px}.roulette-item img{width:72px;height:72px}}

/* v1249 物品详情：相关地点 */
.key-map-location-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    min-width:0;
    padding:12px 14px;
    border:1px solid rgb(var(--border));
    border-radius:10px;
    background:rgb(var(--bg-card));
    color:rgb(var(--text));
    text-decoration:none;
    box-shadow:none;
}
.key-map-location-main{min-width:0}
.key-map-location-map{
    display:flex;
    align-items:center;
    gap:7px;
    min-width:0;
    margin-bottom:4px;
    font-size:13px;
    font-weight:600;
    color:rgb(var(--text));
}
.key-map-location-map>i{color:rgb(var(--p-500))}
.key-map-location-floor{
    flex:0 0 auto;
    padding:2px 6px;
    border:1px solid rgb(var(--border));
    border-radius:6px;
    background:rgb(var(--bg-soft));
    color:rgb(var(--text-muted));
    font-size:11px;
    font-weight:500;
}
.key-map-location-title{
    overflow:hidden;
    color:rgb(var(--text-muted));
    font-size:13px;
    line-height:1.45;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.key-map-location-action{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:rgb(var(--p-500));
    font-size:12px;
    font-weight:600;
}

/* v1250 Logs 历史扫描防误退出提示 */
.tarkov-log-scan-overlay[hidden]{display:none!important}
.tarkov-log-scan-overlay{
    position:fixed;
    inset:0;
    z-index:10040;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgb(0 0 0 / .62);
    backdrop-filter:blur(5px);
}
.tarkov-log-scan-panel{
    width:min(760px,100%);
    padding:34px 28px;
    border:1px solid rgb(var(--border));
    border-radius:18px;
    background:rgb(var(--bg-card));
    color:rgb(var(--text));
    text-align:center;
    box-shadow:0 24px 80px rgb(0 0 0 / .34);
}
.tarkov-log-scan-spinner{
    margin-bottom:14px;
    color:rgb(var(--p-500));
    font-size:30px;
}
.tarkov-log-scan-title{
    font-size:22px;
    font-weight:700;
}
.tarkov-log-scan-warning{
    margin-top:12px;
    font-size:20px;
    font-weight:700;
    line-height:1.6;
}
.tarkov-log-scan-detail{
    margin-top:12px;
    color:rgb(var(--text-muted));
    font-size:14px;
    font-variant-numeric:tabular-nums;
}
html.tarkov-log-scan-lock,
html.tarkov-log-scan-lock body{
    overflow:hidden!important;
}
@media(max-width:640px){
    .tarkov-log-scan-panel{padding:28px 18px}
    .tarkov-log-scan-title{font-size:19px}
    .tarkov-log-scan-warning{font-size:17px}
}

/* 互动地图：纯文字地标
   不显示图标/背景/弹窗，仅用于地图区域名称；字号由 interactive-map.js 按缩放比例实时调整。 */
.map-landmark-label{
    position:absolute;
    z-index:2;
    transform:translate(-50%,-50%);
    pointer-events:none;
    user-select:none;
    white-space:nowrap;
    font-weight:800;
    line-height:1;
    letter-spacing:.02em;
    color:#fff;
    text-shadow:
        -1px -1px 0 #000,
         1px -1px 0 #000,
        -1px  1px 0 #000,
         1px  1px 0 #000,
         0 2px 5px #000;
}



/* v1320 物品收集筛选样式：分类选中只变文字颜色，不再显示下划线 */
.collection-tabs button.is-active::after{
    display:none!important;
    content:none!important;
}
.collection-tabs button.is-active{
    border-bottom:0!important;
    box-shadow:none!important;
}



/* v1327 物品收集：附加筛选行完全复用任务列表勾选样式 */
.collection-toolbar.collection-toolbar-unified{
    flex-wrap:wrap;
}
.collection-toolbar-unified .collection-extra-filters{
    flex:0 0 100%;
    width:100%;
}
html[data-mode="light"] .collection-toolbar-unified .collection-extra-filters{
    border-top-color:rgb(var(--border))!important;
}


/* v1328 物品收集附加筛选行：按任务列表 p-4 卡片的实际边距对齐 */
.collection-toolbar.collection-toolbar-unified{
    padding-left:16px!important;
    padding-right:16px!important;
    padding-bottom:16px!important;
}
.collection-toolbar-unified .collection-extra-filters{
    margin-top:12px!important;
    padding-top:12px!important;
    padding-bottom:0!important;
    min-height:20px;
    border-top:1px solid #2a2a2a!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
}
.collection-toolbar-unified .collection-extra-filters > label{
    margin:0!important;
    padding:0!important;
}
.collection-toolbar-unified .collection-extra-filters .task-completed-filter-checkbox{
    margin:0!important;
}
html[data-mode="light"] .collection-toolbar-unified .collection-extra-filters{
    border-top-color:rgb(var(--border))!important;
}
@media(max-width:820px){
    .collection-toolbar.collection-toolbar-unified{
        padding-left:16px!important;
        padding-right:16px!important;
        padding-bottom:16px!important;
    }
}


/* v1329 物品收集工具栏垂直间距：与任务列表一致 */
.collection-toolbar.collection-toolbar-unified{
    padding-top:16px!important;
    padding-bottom:16px!important;
}
.collection-toolbar-unified .collection-tabs,
.collection-toolbar-unified .collection-search-wrap{
    margin-bottom:0!important;
}
.collection-toolbar-unified .collection-extra-filters{
    margin-top:12px!important;
    padding-top:12px!important;
}
/* 搜索输入/重置这一行下面不要额外留白，分割线直接按任务列表的 12px 节奏出现 */
.collection-toolbar-unified .collection-search-wrap{
    padding-bottom:0!important;
}


/* v1330 物品收集：第一行真实高度与任务列表统一为 40px
   旧 .collection-tabs / button 自带 58px 最小高度并且 align-self:stretch，
   导致搜索框虽然只有 40px，但整行仍被撑到 58px，所以搜索框底部到分割线看起来多出 18px。 */
@media(min-width:821px){
    .collection-toolbar-unified .collection-tabs{
        min-height:40px!important;
        height:40px!important;
        align-self:center!important;
        align-items:center!important;
    }
    .collection-toolbar-unified .collection-tabs button{
        min-height:40px!important;
        height:40px!important;
    }
    .collection-toolbar-unified .collection-search-wrap{
        height:40px!important;
        min-height:40px!important;
        align-self:center!important;
    }
}


/* v1331 物品收集：修正换行后的垂直 gap
   根因：基础 .collection-toolbar 使用 gap:18px。
   现在 toolbar 开启 flex-wrap 后，这个 gap 同时变成 row-gap，
   顶部搜索行和下面分割线之间会额外多出 18px，
   再叠加 mt-3，视觉上就比任务列表大很多。
   只取消纵向 row-gap，横向间距仍保留。 */
.collection-toolbar.collection-toolbar-unified{
    column-gap:18px!important;
    row-gap:0!important;
}
.collection-toolbar-unified .collection-extra-filters{
    margin-top:12px!important;
    padding-top:12px!important;
}


/* v1334 物品图鉴：大分类 / 子分类 / 搜索 / 重置 */
@media(min-width:768px){
    .item-list-filter-grid{
        display:grid!important;
        grid-template-columns:240px 240px minmax(0,1fr) 180px!important;
    }
}
.item-list-filter-grid select:disabled{
    opacity:.58;
    cursor:not-allowed;
}


/* v1337 物品自定义空间布局 */
.item-space-layout-card{
    min-width:0;
}
.item-space-layout-preview{
    min-height:140px;
    padding:12px 0 0;
    background:transparent;
    border-radius:0;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:auto;
}
.item-space-layout-grid{
    --layout-cols:8;
    --layout-rows:8;
    position:relative;
    width:min(100%, calc(var(--layout-cols) * 34px));
    min-width:120px;
    max-height:320px;
    background-color:#101214;
    background-image:
        linear-gradient(to right,rgba(148,163,184,.12) 1px,transparent 1px),
        linear-gradient(to bottom,rgba(148,163,184,.12) 1px,transparent 1px);
    background-size:
        calc(100% / var(--layout-cols)) 100%,
        100% calc(100% / var(--layout-rows));
    border:1px solid #555b61;
    box-sizing:border-box;
}
.item-space-layout-slot{
    position:absolute;
    box-sizing:border-box;
    border:2px solid #70757a;
    background:rgba(110,113,116,.30);
    box-shadow:inset 0 0 0 1px rgba(0,0,0,.62);
}
@media(min-width:1024px){
    .item-content-block-wide{
        grid-column:span 2 / span 2;
    }
}
@media(max-width:767px){
    .item-space-layout-preview{
        min-height:110px;
        padding:8px;
    }
    .item-space-layout-grid{
        max-height:260px;
    }
}
html[data-mode="light"] .item-space-layout-preview{
    background:transparent;
}
html[data-mode="light"] .item-space-layout-grid{
    background-color:#fff;
    background-image:
        linear-gradient(to right,rgba(71,85,105,.12) 1px,transparent 1px),
        linear-gradient(to bottom,rgba(71,85,105,.12) 1px,transparent 1px);
    border-color:#94a3b8;
}
html[data-mode="light"] .item-space-layout-slot{
    border-color:#6b7280;
    background:rgba(107,114,128,.18);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
}


/* v1338 空间布局：整行展示 */
.item-content-block-full{
    grid-column:1 / -1;
}
.item-space-layout-card{
    width:100%;
}


/* v1341 空间布局前台：只显示后台实际框选的储物区域 */
.item-space-layout-grid.item-space-layout-grid-slots-only{
    background:transparent!important;
    background-image:none!important;
    border:0!important;
    box-shadow:none!important;
}
html[data-mode="light"] .item-space-layout-grid.item-space-layout-grid-slots-only{
    background:transparent!important;
    background-image:none!important;
    border:0!important;
}


/* v1342 空间布局：框选区域内部保留每个 1x1 格子的分割线 */
.item-space-layout-grid.item-space-layout-grid-slots-only .item-space-layout-slot{
    --slot-w:1;
    --slot-h:1;
    background-color:rgba(110,113,116,.30);
    background-image:
        linear-gradient(to right, rgba(112,117,122,.72) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(112,117,122,.72) 1px, transparent 1px);
    background-size:
        calc(100% / var(--slot-w)) 100%,
        100% calc(100% / var(--slot-h));
    background-position:0 0, 0 0;
}
html[data-mode="light"] .item-space-layout-grid.item-space-layout-grid-slots-only .item-space-layout-slot{
    background-color:rgba(107,114,128,.18);
    background-image:
        linear-gradient(to right, rgba(107,114,128,.48) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(107,114,128,.48) 1px, transparent 1px);
}


/* v1343 空间布局：前台支持 0.5 格精度 */
.item-space-layout-grid.item-space-layout-grid-slots-only .item-space-layout-slot{
    background-size:
        calc(100% / (var(--slot-w) * 2)) 100%,
        100% calc(100% / (var(--slot-h) * 2));
}


/* v1344 空间布局前台：
   位置/偏移仍支持 0.5 格，但可见分割线只按 1x1 单元格绘制。
   也就是说不会出现 0.5×0.5 小格，只允许整个储物区域整体错半格。 */
.item-space-layout-grid.item-space-layout-grid-slots-only .item-space-layout-slot{
    background-size:
        calc(100% / var(--slot-w)) 100%,
        100% calc(100% / var(--slot-h));
}


/* v1345 BOSS 刷新地点：每张地图独立显示小弟数量 */
.boss-spawn-followers{margin-top:.45rem;display:flex;align-items:center;gap:.4rem;font-size:.86rem;color:rgb(var(--text-muted));}
.boss-spawn-followers i{color:rgb(var(--p-600));font-size:.82rem;}
@media(max-width:640px){
  .boss-spawn-grid>.boss-spawn-card{grid-template-columns:minmax(0,1fr) auto;}
  .boss-spawn-followers{grid-column:1/-1;margin-top:.1rem;}
}


/* v1346 BOSS 刷新地点卡片：统一文字层级，减少一张卡片内多种颜色 */
.boss-spawn-card{
    min-width:0;
    padding:0!important;
    overflow:hidden;
}
.boss-spawn-head{
    min-height:58px;
    padding:14px 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border-bottom:1px solid rgb(var(--border));
}
.boss-spawn-map{
    min-width:0;
    font-size:1rem;
    font-weight:700;
    color:rgb(var(--text));
}
.boss-spawn-map-link{
    color:inherit;
    text-decoration:none;
}
.boss-spawn-map-link:hover{
    color:rgb(var(--p-600));
}
.boss-spawn-rate{
    min-height:26px;
    padding:3px 9px;
    border-radius:999px;
    border:1px solid color-mix(in srgb,rgb(var(--p-500)) 28%,rgb(var(--border)));
    background:color-mix(in srgb,rgb(var(--p-500)) 8%,transparent);
    color:rgb(var(--text));
    font-size:.78rem;
    font-weight:700;
    line-height:1;
}
.boss-spawn-meta{
    padding:12px 16px 14px;
    display:grid;
    gap:10px;
}
.boss-spawn-meta-row{
    display:grid;
    grid-template-columns:18px minmax(0,1fr);
    align-items:start;
    gap:8px;
    min-width:0;
}
.boss-spawn-meta-row>i{
    margin-top:3px;
    color:rgb(var(--text-muted));
    font-size:.8rem;
    text-align:center;
}
.boss-spawn-meta-label{
    margin-bottom:2px;
    color:rgb(var(--text-muted));
    font-size:.72rem;
    line-height:1.2;
}
.boss-spawn-meta-value{
    color:rgb(var(--text));
    font-size:.9rem;
    line-height:1.45;
    overflow-wrap:anywhere;
}
/* 清掉旧版小弟/区域样式对新版卡片的影响 */
.boss-spawn-card .boss-spawn-area,
.boss-spawn-card .boss-spawn-followers{
    margin:0;
}
@media(max-width:640px){
    .boss-spawn-grid>.boss-spawn-card{
        display:block;
        padding:0!important;
    }
    .boss-spawn-head{
        min-height:52px;
        padding:12px 14px;
    }
    .boss-spawn-meta{
        padding:10px 14px 12px;
        gap:9px;
    }
}

/* v1349 转生页面 */
.prestige-mode-switch{display:flex;gap:8px}.prestige-mode-switch a{padding:8px 16px;border:1px solid rgb(var(--border));border-radius:9px;color:rgb(var(--text));font-size:.875rem;background:rgb(var(--bg-card))}.prestige-mode-switch a.is-active{border-color:rgb(var(--p-500));color:rgb(var(--p-600));background:rgb(var(--p-50))}.prestige-list{display:grid;gap:16px}.prestige-card{overflow:hidden;transition:border-color .15s ease}.prestige-card-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:16px 18px}.prestige-expand{width:30px;height:30px;border:1px solid rgb(var(--border));border-radius:8px;color:rgb(var(--text-muted));display:flex;align-items:center;justify-content:center}.prestige-expand i{transition:transform .15s ease}.prestige-card.is-open .prestige-expand i{transform:rotate(90deg)}.prestige-card-title{display:flex;align-items:baseline;gap:10px;min-width:0}.prestige-card-title strong{font-size:1rem;color:rgb(var(--text));white-space:nowrap}.prestige-card-title span{font-size:.78rem;color:rgb(var(--text-muted));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prestige-card-actions{display:flex;gap:8px}.prestige-complete-btn,.prestige-reset-btn{height:34px;padding:0 12px;border:1px solid rgb(var(--border));border-radius:9px;display:flex;align-items:center;gap:6px;font-size:.8rem;color:rgb(var(--text));background:rgb(var(--bg-card-soft))}.prestige-complete-btn i{color:rgb(var(--text-muted))}.prestige-complete-btn.is-done{border-color:rgba(16,185,129,.32);color:#059669;background:rgba(16,185,129,.08)}.prestige-complete-btn.is-done i{color:#10b981}.prestige-card-body{padding:0 18px 18px}.prestige-progress-box{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:4px 16px;padding:14px 16px;border:1px solid rgb(var(--border));border-radius:10px;background:rgb(var(--bg-card-soft));margin-bottom:14px}.prestige-progress-box>div:first-child{display:flex;flex-direction:column;gap:2px}.prestige-progress-box strong{font-size:.9rem;color:rgb(var(--text))}.prestige-progress-box span{font-size:.75rem;color:rgb(var(--text-muted))}.prestige-progress-box>b{font-size:1.45rem;color:rgb(var(--text));font-variant-numeric:tabular-nums}.prestige-progress-track{grid-column:1/-1;height:7px;border-radius:999px;background:rgb(var(--border));overflow:hidden;margin-top:8px}.prestige-progress-track i{display:block;height:100%;border-radius:inherit;background:rgb(var(--p-500));transition:width .2s ease}.prestige-requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.prestige-requirement{display:grid;grid-template-columns:36px minmax(0,1fr) 28px;gap:10px;align-items:center;text-align:left;padding:11px 12px;border:1px solid rgb(var(--border));border-radius:10px;background:rgb(var(--bg-card));min-width:0}.prestige-requirement:hover{border-color:rgb(var(--p-400))}.prestige-req-icon{width:34px;height:34px;border-radius:8px;background:rgb(var(--bg-card-soft));display:flex;align-items:center;justify-content:center;color:rgb(var(--p-600))}.prestige-req-main{display:flex;flex-direction:column;gap:2px;min-width:0}.prestige-req-main small{font-size:.68rem;color:rgb(var(--text-muted))}.prestige-req-main strong{font-size:.85rem;color:rgb(var(--text));font-weight:500;white-space:normal}.prestige-req-check{width:24px;height:24px;border:1px solid rgb(var(--border));border-radius:50%;display:flex;align-items:center;justify-content:center;color:transparent}.prestige-requirement.is-done{opacity:.72;background:rgba(16,185,129,.045)}.prestige-requirement.is-done .prestige-req-check{background:#10b981;border-color:#10b981;color:#fff}.prestige-card.is-completed{opacity:.86}@media(max-width:760px){.prestige-card-head{grid-template-columns:30px minmax(0,1fr);padding:14px}.prestige-card-actions{grid-column:1/-1;justify-content:flex-end}.prestige-card-title{display:block}.prestige-card-title span{display:block;margin-top:3px}.prestige-card-body{padding:0 14px 14px}.prestige-requirements{grid-template-columns:1fr}.prestige-mode-switch a{padding:7px 13px}}

/* v1352 文章正文：恢复富文本编辑器中的段落、标题、列表等排版。
   Tailwind preflight 会把 p/h1-h6/ul/ol 的默认 margin 和列表标记清掉，
   导致后台编辑器里规整的正文到前台全部挤在一起。 */
.article-rich-content{
    font-size:15px;
    line-height:1.85;
    color:rgb(var(--text));
}
.article-rich-content p{
    margin:0 0 .8em;
    line-height:1.85;
}
.article-rich-content p:last-child{margin-bottom:0}
.article-rich-content h1,
.article-rich-content h2,
.article-rich-content h3,
.article-rich-content h4,
.article-rich-content h5,
.article-rich-content h6{
    margin:1.25em 0 .55em;
    color:rgb(var(--text));
    font-weight:700;
    line-height:1.4;
}
.article-rich-content h1{font-size:1.75em}
.article-rich-content h2{font-size:1.5em}
.article-rich-content h3{font-size:1.25em}
.article-rich-content h4{font-size:1.1em}
.article-rich-content h5,
.article-rich-content h6{font-size:1em}
.article-rich-content ul,
.article-rich-content ol{
    margin:.55em 0 1em;
    padding-left:1.75em;
}
.article-rich-content ul{list-style:disc outside}
.article-rich-content ol{list-style:decimal outside}
.article-rich-content ul ul{list-style:circle outside}
.article-rich-content ul ul ul{list-style:square outside}
.article-rich-content li{
    display:list-item;
    margin:.25em 0;
    line-height:1.75;
}
.article-rich-content li>p{margin:.2em 0}
.article-rich-content strong,
.article-rich-content b{font-weight:700}
.article-rich-content em,
.article-rich-content i{font-style:italic}
.article-rich-content u{text-decoration:underline}
.article-rich-content s,
.article-rich-content strike{text-decoration:line-through}
.article-rich-content blockquote{
    margin:1em 0;
    padding:.65em 1em;
    border-left:3px solid rgb(var(--p-500));
    background:rgb(var(--bg-card-soft));
    color:rgb(var(--text-muted));
}
.article-rich-content hr{
    margin:1.4em 0;
    border:0;
    border-top:1px solid rgb(var(--border));
}
.article-rich-content pre{
    margin:1em 0;
    padding:12px 14px;
    overflow:auto;
    border:1px solid rgb(var(--border));
    border-radius:8px;
    background:rgb(var(--bg-card-soft));
    white-space:pre-wrap;
}
.article-rich-content code{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
.article-rich-content img{
    max-width:100%;
    height:auto;
}
.article-rich-content a{
    color:rgb(var(--p-500));
    text-decoration:none;
}
.article-rich-content a:hover{text-decoration:underline}
@media(max-width:640px){
    .article-rich-content{font-size:14px;line-height:1.8}
    .article-rich-content ul,
    .article-rich-content ol{padding-left:1.45em}
}


/* v1353 转生前台调整 */
.prestige-mode-switch{
    display:flex;
    align-items:center;
    gap:.45rem;
}
.prestige-mode-switch a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:.4rem .8rem;
    border:1px solid rgb(var(--border));
    border-radius:.55rem;
    background:rgb(var(--bg-card));
    color:rgb(var(--text));
    font-size:.82rem;
    font-weight:600;
    white-space:nowrap;
}
.prestige-mode-switch a.is-active{
    border-color:rgb(var(--p-500));
    background:rgb(var(--p-500)/.1);
    color:rgb(var(--p-500));
}

/* 每一次转生作为清晰的独立大卡片 */
.prestige-list{
    display:grid;
    gap:20px;
}
.prestige-card{
    border-color:rgb(var(--border))!important;
    background:rgb(var(--bg-card));
    box-shadow:0 1px 2px rgba(0,0,0,.03);
}
.prestige-card-head{
    border-bottom:1px solid transparent;
}
.prestige-card.is-open .prestige-card-head{
    border-bottom-color:rgb(var(--border));
}
.prestige-card-body{
    padding-top:16px;
}
.prestige-card.is-completed{
    opacity:1;
}
html[data-mode="light"] .prestige-card{
    background:#fff;
    box-shadow:0 1px 3px rgba(15,23,42,.04);
}


/* v1354 转生要求：任务 / 剧情 / 藏身处名称可跳转 */
.prestige-req-link{
    color:inherit;
    text-decoration:none;
    cursor:pointer;
    position:relative;
    z-index:2;
}
.prestige-req-link:hover{
    color:rgb(var(--p-600));
    text-decoration:underline;
    text-underline-offset:2px;
}
.prestige-requirement[role="button"]{
    cursor:pointer;
}


/* v1363: 顶部更新提示 + 导航吸顶时使用实色背景，避免页面内容透出来。 */
#site-sticky-top{
  background:rgb(var(--bg-card))!important;
  isolation:isolate;
}
#site-sticky-top>header{
  background:rgb(var(--bg-card))!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
#site-update-banner{
  background:rgb(var(--surface-1))!important;
  color:rgb(var(--text))!important;
}


/* v1365: 手机实时地图拖动；悬浮地图保持不可拖动 */
body:not(.map-floating-standalone) .map-live-viewport{cursor:grab;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
body:not(.map-floating-standalone) .map-live-viewport:active{cursor:grabbing}
body.map-floating-standalone .map-live-viewport{cursor:default}
.map-live-stage,.map-live-stage img,.map-live-marker,.map-live-marker img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.map-live-marker.is-clickable{
  pointer-events:auto;
  cursor:pointer;
  border:0;
  padding:0;
  background:transparent;
  appearance:none;
  -webkit-appearance:none;
  touch-action:manipulation;
}
.map-live-marker.is-clickable:focus-visible{
  outline:2px solid rgb(var(--accent));
  outline-offset:4px;
  border-radius:6px;
}
.map-live-area polygon.is-clickable{pointer-events:auto;cursor:pointer}
#map-live-marker-modal .map-marker-dialog{width:min(520px,calc(100vw - 24px))}
@media(max-width:1023px){
  #map-live-marker-modal{padding:12px}
  #map-live-marker-modal .map-marker-dialog{max-height:calc(100dvh - 24px)}
  #map-live-marker-modal .map-marker-scroll{max-height:calc(100dvh - 24px)}
}

/* v1369 转生：图标、奖励、可转移物品 */
.prestige-card-head{
    grid-template-columns:34px 42px minmax(0,1fr) auto;
}
.prestige-card-icon{
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    overflow:hidden;
    border-radius:8px;
    background:rgb(var(--bg-card-soft));
    color:rgb(var(--p-600));
}
.prestige-card-icon img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.prestige-card-icon i{font-size:18px}

.prestige-reward-section{
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid rgb(var(--border));
}
.prestige-reward-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.prestige-reward-heading strong{font-size:.9rem;color:rgb(var(--text))}
.prestige-reward-heading span{font-size:.72rem;color:rgb(var(--text-muted))}
.prestige-reward-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    grid-auto-flow:dense;
    align-items:start;
    gap:10px;
    width:100%;
    max-width:none;
    justify-content:start;
}
.prestige-reward-card{
    position:relative;
    min-width:0;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
}
.prestige-reward-card.is-large{
    grid-column:span 2;
}
.prestige-reward-card.has-image img{
    display:block;
    width:100%;
    height:auto;
    max-width:100%;
    object-fit:contain;
    border:0;
    border-radius:0;
    background:transparent;
}
.prestige-reward-card.has-image::after{
    content:none;
}
.prestige-reward-card.is-text-only{
    align-self:stretch;
    min-height:0;
    padding:14px 16px;
    border:1px solid rgb(var(--border));
    background:rgb(var(--bg-card-soft));
}
.prestige-reward-card.is-text-only.is-large{
    grid-column:span 2;
}
.prestige-reward-text-only{
    display:flex;
    flex-direction:column;
    gap:5px;
    color:rgb(var(--text));
}
.prestige-reward-text-only strong{
    font-size:.92rem;
    line-height:1.4;
}
.prestige-reward-text-only span{
    font-size:.78rem;
    line-height:1.55;
    color:rgb(var(--text-muted));
}

.prestige-transferable-card{
    overflow:hidden;
    border-color:rgb(var(--border))!important;
    background:rgb(var(--bg-card));
}
.prestige-transferable-head{
    width:100%;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:10px;
    align-items:center;
    padding:14px 18px;
    text-align:left;
    color:rgb(var(--text));
}
.prestige-transferable-chevron{
    width:30px;
    height:30px;
    border:1px solid rgb(var(--border));
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgb(var(--text-muted));
}
.prestige-transferable-chevron i{transition:transform .15s ease}
.prestige-transferable-card.is-open .prestige-transferable-chevron i{transform:rotate(90deg)}
.prestige-transferable-title{display:flex;align-items:baseline;gap:10px;min-width:0;width:100%}
.prestige-transferable-title strong{font-size:.92rem;color:rgb(var(--text))}
.prestige-transferable-title small{font-size:.72rem;color:rgb(var(--text-muted));margin-left:auto;flex:0 0 auto;white-space:nowrap}
.prestige-transferable-body{
    padding:0 18px 18px;
    border-top:1px solid rgb(var(--border));
}
.prestige-transferable-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
    padding-top:14px;
}
.prestige-transferable-item{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    padding:10px;
    border:1px solid rgb(var(--border));
    border-radius:10px;
    background:rgb(var(--bg-card-soft));
    color:inherit;
    text-decoration:none;
}
.prestige-transferable-item:hover{border-color:rgb(var(--p-400))}
.prestige-transferable-item img{
    width:52px;
    height:52px;
    flex:0 0 52px;
    object-fit:contain;
    border-radius:7px;
    background:rgb(var(--bg-card));
}
.prestige-transferable-item span{display:flex;flex-direction:column;min-width:0;gap:2px}
.prestige-transferable-item strong{font-size:.8rem;color:rgb(var(--text));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prestige-transferable-item small{font-size:.65rem;color:rgb(var(--text-muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prestige-transferable-empty{padding-top:14px;color:rgb(var(--text-muted));font-size:.82rem;text-align:center}

@media(max-width:1250px){
    .prestige-reward-grid{grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,780px);max-width:780px}
}
@media(max-width:980px){
    .prestige-reward-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,520px);max-width:520px}
   .prestige-transferable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
    .prestige-card-head{grid-template-columns:30px 38px minmax(0,1fr) auto;padding:14px;gap:8px}
    .prestige-card-icon{width:36px;height:36px}
    .prestige-card-actions{grid-column:auto;justify-content:flex-end;gap:6px;white-space:nowrap}
    .prestige-complete-btn,.prestige-reset-btn{padding:0 9px}
    .prestige-transferable-head{padding:14px}
    .prestige-transferable-body{padding:0 14px 14px}
    .prestige-transferable-title{display:flex;align-items:center;gap:10px;width:100%}
    .prestige-transferable-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .prestige-transferable-title small{display:block;margin-left:auto;flex:0 0 auto;white-space:nowrap}
}
@media(max-width:520px){
    .prestige-reward-grid{grid-template-columns:1fr 1fr;width:100%;max-width:none}
    .prestige-reward-card.is-large{grid-column:1/-1}
   .prestige-transferable-grid{grid-template-columns:1fr}
}

/* v1379: 顶部导航按真实窗口宽度重新分档；1520px 左右开始提前收紧。 */
.site-header-inner{
  position:relative;
  min-width:0;
}
.site-custom-nav{
  white-space:nowrap;
  flex-shrink:0;
}
.site-header-actions{
  flex-shrink:0;
  min-width:0;
}
.site-header-search{
  align-items:center;
  min-width:0;
  flex:0 1 auto;
}
.site-header-search input[type="text"]{
  width:clamp(180px,18vw,256px)!important;
  min-width:0!important;
  transition:width .15s ease;
}
.site-header-search-toggle{
  display:none;
  width:32px;
  height:32px;
  align-items:center;
  justify-content:center;
  flex:0 0 32px;
  border:1px solid rgb(var(--border));
  border-radius:6px;
  background:rgb(var(--bg-card));
  color:rgb(var(--text));
}
.site-header-search-toggle:hover,
.site-header-search-toggle:focus-visible{
  background:rgb(var(--bg-card-soft));
  outline:none;
}
.site-header-actions [data-dropdown="user"]{
  min-width:0;
}
.site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn{
  max-width:112px;
}
.site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn>span{
  min-width:0;
  flex:1 1 auto;
}
.site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn>i{
  flex:0 0 auto;
}

/* 1321~1600：1520px 左右就开始收紧，避免用户菜单箭头被窗口边缘挤住。 */
@media (min-width:1321px) and (max-width:1600px){
  .site-header-inner{gap:4px!important;padding-left:12px!important;padding-right:12px!important}
  .site-custom-nav{gap:0!important;font-size:13px!important}
  .site-nav-main-link{padding-left:7px!important;padding-right:7px!important;gap:4px!important;font-size:13px!important}
  .site-header-actions{gap:4px!important}
  .site-header-search input[type="text"]{width:190px!important}
  .site-mode-dropdown-btn{padding-left:9px!important;padding-right:9px!important;gap:5px!important}
  .site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn{min-width:96px!important;max-width:104px!important;padding-left:8px!important;padding-right:8px!important;gap:5px!important}
}

/* 1180~1320：隐藏站名，把空间优先留给完整主导航。 */
@media (min-width:1180px) and (max-width:1320px){
  .site-header-inner{gap:3px!important;padding-left:10px!important;padding-right:10px!important}
  .site-custom-nav{gap:0!important;font-size:12.5px!important}
  .site-nav-main-link{padding-left:5px!important;padding-right:5px!important;gap:3px!important;font-size:12.5px!important}
  .site-header-actions{gap:3px!important}
  .site-header-search input[type="text"]{width:170px!important}
  .site-mode-dropdown-btn{padding-left:8px!important;padding-right:8px!important;gap:4px!important}
  .site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn{min-width:88px!important;max-width:96px!important;padding-left:7px!important;padding-right:7px!important;gap:4px!important}
}

/* 1080~1179：继续保留完整导航，搜索框进一步变窄。 */
@media (min-width:1080px) and (max-width:1179.98px){
  .site-header-inner{gap:2px!important;padding-left:8px!important;padding-right:8px!important}
  .site-custom-nav{gap:0!important;font-size:12px!important}
  .site-nav-main-link{padding-left:4px!important;padding-right:4px!important;gap:2px!important;font-size:12px!important}
  .site-header-actions{gap:2px!important}
  .site-header-search input[type="text"]{width:138px!important;padding-left:9px!important;padding-right:9px!important}
  .site-mode-dropdown-btn{padding-left:7px!important;padding-right:7px!important;gap:4px!important}
  .site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn{min-width:82px!important;max-width:90px!important;padding-left:6px!important;padding-right:6px!important;gap:4px!important}
}

/* 940~1079：主导航仍保留；搜索改成图标，点击后在导航下方展开。 */
@media (min-width:940px) and (max-width:1079.98px){
  .site-header-inner{gap:2px!important;padding-left:8px!important;padding-right:8px!important}
  .site-custom-nav{gap:0!important;font-size:12px!important;min-width:0}
  .site-nav-main-link{padding-left:4px!important;padding-right:4px!important;gap:2px!important;font-size:12px!important}
  .site-header-actions{gap:3px!important}
  .site-header-search{display:flex!important;position:static}
  .site-header-search-toggle{display:inline-flex}
  .site-header-search input[type="text"]{display:none!important}
  .site-header-search.is-open{
    position:absolute;
    left:8px;
    right:8px;
    top:calc(100% + 8px);
    z-index:70;
    padding:8px;
    gap:8px;
    border:1px solid rgb(var(--border));
    border-radius:8px;
    background:rgb(var(--bg-card));
    box-shadow:0 8px 24px rgb(0 0 0/.16);
  }
  .site-header-search.is-open .site-header-search-toggle{display:inline-flex}
  .site-header-search.is-open input[type="text"]{
    display:block!important;
    width:100%!important;
    flex:1 1 auto;
  }
  .site-mode-dropdown-btn{padding-left:7px!important;padding-right:7px!important;gap:4px!important}
  .site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn{min-width:80px!important;max-width:86px!important;padding-left:6px!important;padding-right:6px!important;gap:3px!important}
}


/* v1380: desktop header compression should start only when space is actually tight.
   Keep readable nav text; consume the large spacer before shrinking labels. */
@media (min-width:1321px){
  .site-header-inner{gap:8px!important;padding-left:16px!important;padding-right:16px!important}
  .site-custom-nav{gap:4px!important;font-size:14px!important}
  .site-nav-main-link{padding-left:8px!important;padding-right:8px!important;gap:5px!important;font-size:14px!important}
  .site-header-actions{gap:8px!important}
  .site-header-search{display:flex!important;position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .site-header-search-toggle{display:none!important}
  .site-header-search input[type="text"]{display:block!important;width:256px!important;padding-left:12px!important;padding-right:12px!important}
  .site-mode-dropdown-btn{padding-left:10px!important;padding-right:10px!important;gap:6px!important}
  .site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn{min-width:96px!important;max-width:120px!important;padding-left:10px!important;padding-right:10px!important;gap:6px!important}
}

/* Brand can disappear here, but text stays full-size. */
@media (min-width:1180px) and (max-width:1320px){
  .site-header-inner{gap:5px!important;padding-left:12px!important;padding-right:12px!important}
  .site-custom-nav{gap:1px!important;font-size:14px!important}
  .site-nav-main-link{padding-left:7px!important;padding-right:7px!important;gap:4px!important;font-size:14px!important}
  .site-header-actions{gap:5px!important}
  .site-header-search{display:flex!important;position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .site-header-search-toggle{display:none!important}
  .site-header-search input[type="text"]{display:block!important;width:210px!important;padding-left:11px!important;padding-right:11px!important}
  .site-mode-dropdown-btn{padding-left:9px!important;padding-right:9px!important;gap:5px!important}
  .site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn{min-width:90px!important;max-width:108px!important;padding-left:8px!important;padding-right:8px!important;gap:5px!important}
}

/* Only mildly compact once the window is genuinely narrow. */
@media (min-width:1000px) and (max-width:1179.98px){
  .site-header-inner{gap:4px!important;padding-left:10px!important;padding-right:10px!important}
  .site-custom-nav{gap:0!important;font-size:13.5px!important}
  .site-nav-main-link{padding-left:6px!important;padding-right:6px!important;gap:4px!important;font-size:13.5px!important}
  .site-header-actions{gap:4px!important}
  .site-header-search{display:flex!important;position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .site-header-search-toggle{display:none!important}
  .site-header-search input[type="text"]{display:block!important;width:165px!important;padding-left:10px!important;padding-right:10px!important}
  .site-mode-dropdown-btn{padding-left:8px!important;padding-right:8px!important;gap:4px!important}
  .site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn{min-width:86px!important;max-width:102px!important;padding-left:7px!important;padding-right:7px!important;gap:4px!important}
}

/* Search collapses to an icon only at the last desktop step before mobile. */
@media (min-width:940px) and (max-width:999.98px){
  .site-header-inner{gap:3px!important;padding-left:8px!important;padding-right:8px!important}
  .site-custom-nav{gap:0!important;font-size:13px!important;min-width:0}
  .site-nav-main-link{padding-left:5px!important;padding-right:5px!important;gap:3px!important;font-size:13px!important}
  .site-header-actions{gap:3px!important}
  .site-header-search{display:flex!important;position:static;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .site-header-search-toggle{display:inline-flex!important}
  .site-header-search input[type="text"]{display:none!important}
  .site-header-search.is-open{
    position:absolute!important;
    left:8px!important;
    right:8px!important;
    top:calc(100% + 8px)!important;
    z-index:70!important;
    padding:8px!important;
    gap:8px!important;
    border:1px solid rgb(var(--border))!important;
    border-radius:8px!important;
    background:rgb(var(--bg-card))!important;
    box-shadow:0 8px 24px rgb(0 0 0/.16)!important;
  }
  .site-header-search.is-open input[type="text"]{display:block!important;width:100%!important;flex:1 1 auto!important}
  .site-mode-dropdown-btn{padding-left:7px!important;padding-right:7px!important;gap:4px!important}
  .site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn{min-width:82px!important;max-width:96px!important;padding-left:6px!important;padding-right:6px!important;gap:4px!important}
}

/* v1381: 顶部导航重新按“先隐藏站名/搜索，再动间距，桌面端不缩小文字”处理。 */
@media (min-width:940px){
  .site-custom-nav{font-size:14px!important}
  .site-nav-main-link{font-size:14px!important}
  .site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn{
    min-width:96px!important;
    max-width:112px!important;
  }
}

/* 1450px 以下优先隐藏站名，避免右侧用户菜单被挤出；导航字号保持正常。 */
@media (min-width:940px) and (max-width:1450px){
  .site-header-brand{display:none!important}
}

/* 1320~1450：站名已隐藏，空间充足，只轻微收紧间距。 */
@media (min-width:1320px) and (max-width:1450px){
  .site-header-inner{gap:6px!important;padding-left:12px!important;padding-right:12px!important}
  .site-custom-nav{gap:2px!important}
  .site-nav-main-link{padding-left:7px!important;padding-right:7px!important;gap:4px!important}
  .site-header-actions{gap:6px!important}
  .site-header-search{display:flex!important;position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .site-header-search-toggle{display:none!important}
  .site-header-search input[type="text"]{display:block!important;width:220px!important;padding-left:11px!important;padding-right:11px!important}
  .site-mode-dropdown-btn{padding-left:9px!important;padding-right:9px!important;gap:5px!important}
}

/* 1150~1319：仍保持 14px，只缩短搜索框与左右留白。 */
@media (min-width:1150px) and (max-width:1319.98px){
  .site-header-inner{gap:4px!important;padding-left:10px!important;padding-right:10px!important}
  .site-custom-nav{gap:0!important}
  .site-nav-main-link{padding-left:6px!important;padding-right:6px!important;gap:4px!important}
  .site-header-actions{gap:4px!important}
  .site-header-search{display:flex!important;position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .site-header-search-toggle{display:none!important}
  .site-header-search input[type="text"]{display:block!important;width:175px!important;padding-left:10px!important;padding-right:10px!important}
  .site-mode-dropdown-btn{padding-left:8px!important;padding-right:8px!important;gap:4px!important}
}

/* 1100~1149：继续保留搜索框，字号仍不变。 */
@media (min-width:1100px) and (max-width:1149.98px){
  .site-header-inner{gap:3px!important;padding-left:8px!important;padding-right:8px!important}
  .site-custom-nav{gap:0!important}
  .site-nav-main-link{padding-left:5px!important;padding-right:5px!important;gap:3px!important}
  .site-header-actions{gap:3px!important}
  .site-header-search{display:flex!important;position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .site-header-search-toggle{display:none!important}
  .site-header-search input[type="text"]{display:block!important;width:135px!important;padding-left:9px!important;padding-right:9px!important}
  .site-mode-dropdown-btn{padding-left:7px!important;padding-right:7px!important;gap:4px!important}
  .site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn{min-width:92px!important;max-width:104px!important}
}

/* 940~1099：搜索才折叠成按钮；导航字号仍保持 14px。 */
@media (min-width:940px) and (max-width:1099.98px){
  .site-header-inner{gap:3px!important;padding-left:8px!important;padding-right:8px!important}
  .site-custom-nav{gap:0!important;min-width:0}
  .site-nav-main-link{padding-left:4px!important;padding-right:4px!important;gap:3px!important}
  .site-header-actions{gap:3px!important}
  .site-header-search{display:flex!important;position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .site-header-search-toggle{display:inline-flex!important}
  .site-header-search input[type="text"]{display:none!important}
  .site-header-search.is-open{
    position:absolute!important;
    left:8px!important;
    right:8px!important;
    top:calc(100% + 8px)!important;
    z-index:70!important;
    padding:8px!important;
    gap:8px!important;
    border:1px solid rgb(var(--border))!important;
    border-radius:8px!important;
    background:rgb(var(--bg-card))!important;
    box-shadow:0 8px 24px rgb(0 0 0/.16)!important;
  }
  .site-header-search.is-open input[type="text"]{display:block!important;width:100%!important;flex:1 1 auto!important}
  .site-mode-dropdown-btn{padding-left:7px!important;padding-right:7px!important;gap:4px!important}
  .site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn{min-width:92px!important;max-width:104px!important;padding-left:7px!important;padding-right:7px!important;gap:4px!important}
}

/* v1382: desktop header uses the real free spacer before compacting controls.
   Keep nav labels readable and roomy; only collapse search at the final desktop step. */
@media (min-width:940px){
  .site-header-inner{
    gap:8px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .site-custom-nav{
    gap:2px!important;
    font-size:14px!important;
    flex:0 0 auto!important;
  }
  .site-nav-main-link{
    padding-left:8px!important;
    padding-right:8px!important;
    gap:5px!important;
    font-size:14px!important;
  }
  /* This is the flexible blank area between nav and right controls. Let it shrink first. */
  .site-custom-nav + div.hidden.md\:block{
    display:block!important;
    flex:1 1 32px!important;
    min-width:8px!important;
    margin-left:0!important;
  }
  .site-header-actions{
    gap:6px!important;
    margin-left:0!important;
    flex:0 0 auto!important;
  }
  .site-header-actions [data-dropdown="user"] .tarkov-dropdown-btn{
    min-width:96px!important;
    max-width:118px!important;
    padding-left:9px!important;
    padding-right:9px!important;
    gap:6px!important;
  }
  .site-mode-dropdown-btn{
    padding-left:9px!important;
    padding-right:9px!important;
    gap:5px!important;
  }
}

/* Keep the brand on wide screens; hide it only when it is the first useful space saving. */
@media (min-width:1451px){
  .site-header-brand{display:flex!important}
}
@media (min-width:940px) and (max-width:1450px){
  .site-header-brand{display:none!important}
}

/* With the brand gone there is plenty of room: keep normal nav spacing and a useful search box. */
@media (min-width:1250px) and (max-width:1450px){
  .site-header-search{display:flex!important;position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .site-header-search-toggle{display:none!important}
  .site-header-search input[type="text"]{display:block!important;width:240px!important;padding-left:12px!important;padding-right:12px!important}
}
@media (min-width:1120px) and (max-width:1249.98px){
  .site-header-search{display:flex!important;position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .site-header-search-toggle{display:none!important}
  .site-header-search input[type="text"]{display:block!important;width:200px!important;padding-left:11px!important;padding-right:11px!important}
}
@media (min-width:1040px) and (max-width:1119.98px){
  .site-header-inner{gap:6px!important;padding-left:12px!important;padding-right:12px!important}
  .site-custom-nav{gap:1px!important}
  .site-nav-main-link{padding-left:7px!important;padding-right:7px!important}
  .site-header-actions{gap:5px!important}
  .site-header-search{display:flex!important;position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .site-header-search-toggle{display:none!important}
  .site-header-search input[type="text"]{display:block!important;width:165px!important;padding-left:10px!important;padding-right:10px!important}
}
@media (min-width:1000px) and (max-width:1039.98px){
  .site-header-inner{gap:5px!important;padding-left:10px!important;padding-right:10px!important}
  .site-custom-nav{gap:0!important}
  .site-nav-main-link{padding-left:6px!important;padding-right:6px!important}
  .site-header-actions{gap:4px!important}
  .site-header-search{display:flex!important;position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .site-header-search-toggle{display:none!important}
  .site-header-search input[type="text"]{display:block!important;width:135px!important;padding-left:9px!important;padding-right:9px!important}
}

/* Only the narrowest desktop band uses the search icon. Nav text/padding remain readable. */
@media (min-width:940px) and (max-width:999.98px){
  .site-header-inner{gap:4px!important;padding-left:8px!important;padding-right:8px!important}
  .site-custom-nav{gap:0!important}
  .site-nav-main-link{padding-left:6px!important;padding-right:6px!important;gap:4px!important;font-size:14px!important}
  .site-header-actions{gap:4px!important}
  .site-header-search{display:flex!important;position:static!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .site-header-search-toggle{display:inline-flex!important}
  .site-header-search input[type="text"]{display:none!important}
  .site-header-search.is-open{
    position:absolute!important;
    left:8px!important;
    right:8px!important;
    top:calc(100% + 8px)!important;
    z-index:70!important;
    padding:8px!important;
    gap:8px!important;
    border:1px solid rgb(var(--border))!important;
    border-radius:8px!important;
    background:rgb(var(--bg-card))!important;
    box-shadow:0 8px 24px rgb(0 0 0/.16)!important;
  }
  .site-header-search.is-open input[type="text"]{display:block!important;width:100%!important;flex:1 1 auto!important}
}

/* BOSS 武器装备：紧凑分组布局 */
.boss-loadout-section .boss-subtitle{
  margin:1.15rem 0 .7rem;
  padding-top:.15rem;
}
.boss-loadout-section .boss-subtitle:first-of-type{margin-top:.25rem}
.boss-firearm-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.85rem;
}
.boss-firearm-card{
  min-width:0;
  padding:.8rem;
  border:1px solid rgb(var(--border));
  border-radius:.8rem;
  background:rgb(var(--bg-card));
}
.boss-firearm-main{
  display:flex;
  align-items:center;
  gap:.75rem;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.boss-firearm-main:hover{color:inherit}
.boss-firearm-main img{
  width:72px;
  height:56px;
  flex:0 0 72px;
  object-fit:contain;
  border-radius:.5rem;
  background:rgb(var(--bg-soft));
}
.boss-firearm-copy{min-width:0}
.boss-firearm-name{
  font-size:.95rem;
  line-height:1.35;
  font-weight:600;
  overflow-wrap:anywhere;
}
.boss-firearm-ammo-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin:.7rem 0 .45rem;
  padding-top:.65rem;
  border-top:1px solid rgb(var(--border));
  font-size:.75rem;
  color:rgb(var(--text-muted));
}
.boss-ammo-chip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.4rem;
}
.boss-ammo-chip{
  display:flex;
  align-items:center;
  gap:.45rem;
  min-width:0;
  min-height:38px;
  padding:.35rem .5rem;
  border:1px solid rgb(var(--border));
  border-radius:.55rem;
  background:rgb(var(--bg-soft));
  color:inherit;
  text-decoration:none;
}
.boss-ammo-chip:hover{background:rgb(var(--bg-card-soft));color:inherit}
.boss-ammo-chip img{
  width:30px;
  height:30px;
  flex:0 0 30px;
  object-fit:contain;
}
.boss-ammo-chip span{
  min-width:0;
  font-size:.78rem;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.boss-special-grid,
.boss-equipment-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.55rem;
}
.boss-special-grid .boss-item-card,
.boss-equipment-grid .boss-item-card{
  padding:.5rem .6rem;
  gap:.55rem;
  min-height:58px;
}
.boss-special-grid .boss-item-card img,
.boss-equipment-grid .boss-item-card img{
  width:44px;
  height:44px;
  flex:0 0 44px;
}
.boss-special-grid .boss-item-name,
.boss-equipment-grid .boss-item-name{
  font-size:.82rem;
  line-height:1.3;
}
@media(max-width:1200px){
  .boss-special-grid,.boss-equipment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:900px){
  .boss-firearm-grid{grid-template-columns:1fr}
  .boss-special-grid,.boss-equipment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .boss-firearm-card{padding:.7rem}
  .boss-firearm-main img{width:64px;height:50px;flex-basis:64px}
  .boss-ammo-chip-grid{grid-template-columns:1fr}
  .boss-special-grid,.boss-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){
  .boss-special-grid,.boss-equipment-grid{grid-template-columns:1fr}
}

/* v1390: unify the vertical spacing between the intro card and search card on skill/achievement pages */
.skill-list-page .skill-page-intro,
.achievement-page .skill-page-intro{
  margin-bottom:1rem!important;
}
.skill-list-page .achievement-search,
.achievement-page .achievement-search{
  margin-top:0!important;
}

@media(max-width:800px){.ceremony-count-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ceremony-count-picker button{padding:9px 6px}.ceremony-count-picker button:nth-child(4),.ceremony-count-picker button:nth-child(5){grid-column:auto}}

/* v1406 个人中心转生：一键清空按钮在日间/夜间模式始终清晰可见 */
.rebirth-reset-mode-btn{
  display:block;
  width:100%;
  border:1px solid rgb(var(--p-600));
  background:rgb(var(--p-600));
  color:#fff !important;
  cursor:pointer;
}
.rebirth-reset-mode-btn:hover{
  border-color:rgb(var(--p-500));
  background:rgb(var(--p-500));
}
.rebirth-reset-mode-btn:focus-visible{
  outline:2px solid rgb(var(--p-400));
  outline-offset:2px;
}
.rebirth-reset-mode-btn:disabled{
  opacity:.6;
  cursor:not-allowed;
}


/* v1409: 任务树商人快速定位 */
.task-tree-trader-jump{
    display:flex;
    align-items:center;
    gap:6px;
    min-width:0;
    max-width:470px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:2px 1px;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
}
.task-tree-trader-jump-btn{
    width:38px;
    height:38px;
    flex:0 0 38px;
    padding:2px;
    border:1px solid rgb(var(--border));
    border-radius:8px;
    background:rgb(var(--bg-card-soft));
    cursor:pointer;
    overflow:hidden;
    box-sizing:border-box;
    transition:border-color .15s,background .15s,box-shadow .15s;
}
.task-tree-trader-jump-btn img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:5px;
    pointer-events:none;
}
.task-tree-trader-jump-btn:hover,
.task-tree-trader-jump-btn.is-active{
    border-color:rgb(var(--p-500));
    background:rgba(var(--p-500),.10);
    box-shadow:0 0 0 2px rgba(var(--p-500),.12);
}
.task-tree-node-trader.is-search-hit img{
    border-color:rgb(var(--p-500));
    box-shadow:0 0 0 4px rgba(var(--p-500),.22),0 8px 24px rgba(var(--p-500),.24);
}
@media(max-width:900px){
    .task-tree-toolbar{
        flex-wrap:wrap;
        overflow-x:visible !important;
        align-content:center;
        gap:7px !important;
    }
    .task-tree-toolbar .task-tree-search{
        flex:1 1 calc(100% - 76px);
        width:auto !important;
        min-width:0 !important;
    }
    .task-tree-toolbar #task-tree-reset{
        flex:0 0 auto;
    }
    .task-tree-trader-jump{
        order:3;
        flex:1 0 100%;
        width:100%;
        max-width:none;
        gap:7px;
        padding:2px 0 1px;
    }
    .task-tree-trader-jump-btn{
        width:38px;
        height:38px;
        flex-basis:38px;
        border-radius:9px;
    }
}

/* v1411: task-tree quick trader toolbar alignment */
@media(min-width:901px){
    .task-tree-toolbar{
        justify-content:flex-start !important;
        padding-left:max(18px,calc((100% - 1320px)/2));
        padding-right:max(18px,calc((100% - 1320px)/2));
        overflow:visible;
    }
    .task-tree-toolbar .task-tree-search{
        width:min(520px,40vw);
        min-width:360px;
        flex:0 1 520px;
    }
    .task-tree-trader-jump{
        max-width:none;
        overflow-x:visible;
        flex:0 0 auto;
        padding:0;
    }
}
@media(max-width:900px){
    .task-tree-toolbar{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:center;
        gap:7px;
        padding:8px;
        overflow:visible !important;
    }
    .task-tree-toolbar .task-tree-search{
        grid-column:1;
        grid-row:1;
        width:100% !important;
        min-width:0 !important;
        flex:none;
    }
    .task-tree-toolbar #task-tree-reset{
        grid-column:2;
        grid-row:1;
        margin:0;
        white-space:nowrap;
    }
    .task-tree-trader-jump{
        grid-column:1 / -1;
        grid-row:2;
        width:100%;
        max-width:none;
        min-width:0;
        overflow-x:auto;
        overflow-y:hidden;
        padding:2px 0 1px;
    }
}

/* v1421 homepage redemption-code layout is kept inline in home.php to avoid stale CDN CSS. */


/* v1458: 任务目标攻略 - 地图 / 文字 / 图片 */
.task-objective-guides-section{display:flex;flex-direction:column;gap:12px}
.task-objective-guides-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:rgb(var(--text))}
.task-objective-guides-title i{color:rgb(var(--p-500))}
.task-objective-guides-list{display:flex;flex-direction:column;gap:16px}
.task-objective-guide-card{overflow:hidden;border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--bg-card))}
.task-objective-guide-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid rgb(var(--border));background:rgb(var(--bg-card))}
.task-objective-guide-heading{display:flex;align-items:center;gap:10px;min-width:0}
.task-objective-guide-index{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:28px;border-radius:999px;background:rgb(var(--p-500)/.12);color:rgb(var(--p-600));font-size:12px;font-weight:700}
.task-objective-guide-name{font-size:15px;font-weight:700;color:rgb(var(--text));line-height:1.35}
.task-objective-guide-mapname{margin-top:2px;font-size:12px;color:rgb(var(--text-muted));line-height:1.35}
.task-objective-guide-map-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-height:34px;padding:0 12px;border:1px solid rgb(var(--border));border-radius:8px;background:rgb(var(--bg-card-soft));color:rgb(var(--text));font-size:12px;font-weight:600;text-decoration:none!important}
.task-objective-guide-map-btn:hover{background:rgb(var(--border));border-color:rgb(var(--border-soft))}
.task-objective-guide-map-preview{position:relative;overflow:hidden;background-color:#0b0d10;background-image:linear-gradient(#171b22 1px,transparent 1px),linear-gradient(90deg,#171b22 1px,transparent 1px);background-size:40px 40px;border-bottom:1px solid rgb(var(--border))}
.task-objective-guide-map-preview>img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;margin:0 auto}
.task-objective-guide-pin{position:absolute;z-index:3;transform:translate(-50%,-100%);display:flex;align-items:center;justify-content:center;width:34px;height:42px;color:#ef4444;font-size:34px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.55));pointer-events:none}
.task-objective-guide-pin::after{content:'';position:absolute;left:50%;top:50%;width:10px;height:10px;border:3px solid #fff;border-radius:50%;transform:translate(-50%,-72%);box-sizing:border-box}
.task-objective-guide-floor{position:absolute;top:10px;left:10px;padding:4px 8px;border:1px solid rgba(0,0,0,.12);border-radius:7px;background:rgba(255,255,255,.92);box-shadow:0 1px 4px rgba(0,0,0,.12);color:#111827;font-size:12px;font-weight:700;pointer-events:none}
.task-objective-guide-description{padding:14px 16px;color:rgb(var(--text));font-size:14px;line-height:1.8;border-bottom:1px solid rgb(var(--border));white-space:normal;overflow-wrap:anywhere}
.task-objective-guide-images{display:flex;flex-direction:column;background:rgb(var(--bg-card))}
.task-objective-guide-images a{display:block;border-top:1px solid rgb(var(--border))}
.task-objective-guide-images a:first-child{border-top:0}
.task-objective-guide-images img{display:block;width:100%;height:auto;max-height:none;margin:0 auto}
html[data-mode="light"] .task-objective-guide-map-preview{background-color:#f4f7fa;background-image:linear-gradient(#dfe6ee 1px,transparent 1px),linear-gradient(90deg,#dfe6ee 1px,transparent 1px)}
@media(max-width:640px){.task-objective-guide-head{align-items:flex-start;flex-direction:column}.task-objective-guide-map-btn{width:100%}.task-objective-guide-map-preview>img{max-height:520px}.task-objective-guide-pin{width:28px;height:36px;font-size:28px}}

/* v1477 - zero-border article tables must override light/dark table borders too */
html[data-mode="light"] .article-rich-content table.ke-zeroborder,
html[data-mode="light"] .article-rich-content table.ke-zeroborder th,
html[data-mode="light"] .article-rich-content table.ke-zeroborder td,
html[data-mode="dark"] .article-rich-content table.ke-zeroborder,
html[data-mode="dark"] .article-rich-content table.ke-zeroborder th,
html[data-mode="dark"] .article-rich-content table.ke-zeroborder td,
html[data-mode="light"] .article-rich-content table[border="0"],
html[data-mode="light"] .article-rich-content table[border="0"] th,
html[data-mode="light"] .article-rich-content table[border="0"] td,
html[data-mode="dark"] .article-rich-content table[border="0"],
html[data-mode="dark"] .article-rich-content table[border="0"] th,
html[data-mode="dark"] .article-rich-content table[border="0"] td{
    border:none !important;
    border-width:0 !important;
}

/* v1485: season document pickup/reward controls use the same counter UI */
.document-progress-actions{display:flex;flex-direction:column;align-items:stretch;gap:.38rem;flex:0 0 auto;width:330px;max-width:100%}
.document-action-row{display:grid;grid-template-columns:106px minmax(0,1fr);align-items:center;gap:.55rem;min-width:0}
.document-action-label{display:flex;align-items:center;gap:.35rem;color:rgb(var(--text));font-size:.78rem;font-weight:600;white-space:nowrap}
.document-action-label small{color:rgb(var(--p-500));font-size:.68rem;font-weight:600}
.document-action-row .document-counter{width:100%;margin:0}
.document-action-row .document-counter button{flex:0 0 34px;width:34px;min-width:34px}
.document-action-row .document-counter input{flex:0 0 48px;width:48px;min-width:48px}
.document-action-row .document-counter span{flex:1 1 auto;padding:0 .45rem 0 .15rem;white-space:nowrap}
.document-reward-counter input::placeholder{color:rgb(var(--muted));font-weight:400;opacity:.85}
.document-reward-counter .document-reward-unit{color:rgb(var(--muted));font-size:.76rem}
.document-reward-counter button[data-document-reward-add]{color:rgb(var(--p-500));font-weight:700}
.document-reward-counter button:disabled{cursor:not-allowed;opacity:.45}
.document-reward-counter button.is-loading{font-size:0}
.document-reward-counter button.is-loading:after{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
@media(max-width:1180px){.document-progress-card{align-items:flex-start;flex-wrap:wrap}.document-progress-actions{width:100%;padding-left:56px}}
@media(max-width:640px){.document-progress-card{align-items:center}.document-progress-actions{padding-left:0;width:100%;gap:.45rem}.document-action-row{grid-template-columns:96px minmax(0,1fr);gap:.4rem}.document-action-label{font-size:.74rem}.document-action-row .document-counter button{flex-basis:34px;width:34px}.document-action-row .document-counter input{flex-basis:46px;width:46px}}

/* v1486: compact season-document action rows; labels stay inline before counters */
.document-progress-actions{display:flex;flex-direction:column;gap:.42rem;flex:0 0 365px;min-width:365px}
.document-progress-actions .document-action-row{display:grid;grid-template-columns:116px 1fr;align-items:center;gap:.55rem;min-width:0}
.document-progress-actions .document-action-label{display:flex;align-items:center;justify-content:flex-start;gap:.3rem;margin:0;font-size:.78rem;font-weight:600;white-space:nowrap}
.document-progress-actions .document-counter{display:flex;align-items:center;width:100%;height:36px;margin:0;overflow:hidden;border:1px solid rgb(var(--border));border-radius:.6rem;background:rgb(var(--card))}
.document-progress-actions .document-counter button{flex:0 0 36px;width:36px;min-width:36px;height:34px;padding:0;border:0;background:transparent;text-align:center}
.document-progress-actions .document-counter input{flex:0 0 52px;width:52px;min-width:52px;height:34px;padding:0 4px;border:0;border-left:1px solid rgb(var(--border));background:transparent;text-align:center;color:rgb(var(--p-500));font-weight:700;outline:0;-moz-appearance:textfield}
.document-progress-actions .document-counter input::-webkit-inner-spin-button,.document-progress-actions .document-counter input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.document-progress-actions .document-counter span{flex:1 1 auto;padding:0 .45rem;color:rgb(var(--text));font-size:.78rem;white-space:nowrap}
.document-progress-actions .document-counter [data-document-reward-spacer]{min-width:0}
.document-progress-actions .document-action-label small{font-size:.68rem;color:rgb(var(--p-500));font-weight:600}
@media(max-width:1180px){.document-progress-card{flex-wrap:nowrap;align-items:center}.document-progress-actions{width:auto;min-width:340px;flex-basis:340px;padding-left:0}.document-progress-actions .document-action-row{grid-template-columns:108px 1fr}}
@media(max-width:700px){.document-progress-card{flex-wrap:wrap}.document-progress-actions{width:100%;min-width:0;flex-basis:100%;padding-left:0}.document-progress-actions .document-action-row{grid-template-columns:104px minmax(0,1fr)}.document-progress-actions .document-counter button{flex-basis:34px;width:34px;min-width:34px}.document-progress-actions .document-counter input{flex-basis:48px;width:48px;min-width:48px}}
\n\n/* v1487: compact inline labels and symmetric document counters */
.document-progress-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:7px!important;
  flex:0 0 330px!important;
  width:330px!important;
  min-width:330px!important;
}
.document-progress-actions .document-action-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
}
.document-progress-actions .document-action-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  white-space:nowrap!important;
  font-size:.78rem!important;
  font-weight:600!important;
  line-height:36px!important;
}
.document-progress-actions .document-action-label small{
  line-height:1!important;
  font-size:.68rem!important;
  color:rgb(var(--p-500))!important;
}
.document-progress-actions .document-counter{
  display:grid!important;
  grid-template-columns:36px 48px 56px 36px!important;
  align-items:center!important;
  flex:0 0 176px!important;
  width:176px!important;
  min-width:176px!important;
  height:36px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgb(var(--border))!important;
  border-radius:.6rem!important;
  background:rgb(var(--card))!important;
}
.document-progress-actions .document-counter button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:36px!important;
  min-width:36px!important;
  height:34px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  text-align:center!important;
  line-height:1!important;
}
.document-progress-actions .document-counter button:first-child{
  border-right:1px solid rgb(var(--border))!important;
}
.document-progress-actions .document-counter button:last-child{
  border-left:1px solid rgb(var(--border))!important;
}
.document-progress-actions .document-counter input{
  display:block!important;
  width:48px!important;
  min-width:48px!important;
  height:34px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  text-align:center!important;
  color:rgb(var(--p-500))!important;
  font-weight:700!important;
  line-height:34px!important;
  outline:0!important;
  -moz-appearance:textfield!important;
}
.document-progress-actions .document-counter span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:56px!important;
  min-width:56px!important;
  height:34px!important;
  padding:0!important;
  margin:0!important;
  color:rgb(var(--text))!important;
  font-size:.78rem!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.document-progress-actions .document-reward-counter{
  grid-template-columns:36px 104px 36px!important;
}
.document-progress-actions .document-reward-counter input{
  width:104px!important;
  min-width:104px!important;
  padding:0 6px!important;
  text-align:center!important;
}
.document-progress-actions .document-reward-counter input::placeholder{
  text-align:center!important;
  color:rgb(var(--muted))!important;
  font-weight:400!important;
  opacity:.9!important;
}
@media(max-width:1180px){
  .document-progress-actions{flex:0 0 310px!important;width:310px!important;min-width:310px!important;padding-left:0!important}
}
@media(max-width:700px){
  .document-progress-actions{flex:0 0 100%!important;width:100%!important;min-width:0!important;align-items:stretch!important;padding-left:0!important}
  .document-progress-actions .document-action-row{justify-content:space-between!important}
  .document-progress-actions .document-action-label{justify-content:flex-start!important;line-height:36px!important}
  .document-progress-actions .document-counter{flex:0 0 176px!important;width:176px!important;min-width:176px!important}
}

/* v1488: force season-document labels inline with symmetric counters */
.document-progress-actions{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-end!important;
  gap:8px!important;
  flex:0 0 350px!important;
  width:350px!important;
  min-width:350px!important;
}
.document-progress-actions .document-action-row-inline{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  width:100%!important;
  min-height:36px!important;
  margin:0!important;
}
.document-progress-actions .document-action-label-inline{
  display:flex!important;
  flex:1 1 auto!important;
  min-width:0!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
  line-height:36px!important;
  white-space:nowrap!important;
  text-align:right!important;
}
.document-progress-actions .document-counter-inline{
  display:grid!important;
  grid-template-columns:36px 52px 54px 36px!important;
  flex:0 0 178px!important;
  width:178px!important;
  min-width:178px!important;
  height:36px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgb(var(--border))!important;
  border-radius:.6rem!important;
  overflow:hidden!important;
  background:rgb(var(--card))!important;
}
.document-progress-actions .document-counter-inline > button,
.document-progress-actions .document-counter-inline > input,
.document-progress-actions .document-counter-inline > span{
  box-sizing:border-box!important;
  height:34px!important;
  min-width:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.document-progress-actions .document-counter-inline > button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:36px!important;
  padding:0!important;
  line-height:1!important;
}
.document-progress-actions .document-counter-inline > .document-counter-minus{
  border-right:1px solid rgb(var(--border))!important;
}
.document-progress-actions .document-counter-inline > .document-counter-plus{
  border-left:1px solid rgb(var(--border))!important;
}
.document-progress-actions .document-counter-inline > input{
  display:block!important;
  width:52px!important;
  padding:0 3px!important;
  text-align:center!important;
  color:rgb(var(--p-500))!important;
  font-weight:700!important;
  outline:none!important;
  -moz-appearance:textfield!important;
}
.document-progress-actions .document-counter-inline > .document-counter-total{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:54px!important;
  padding:0!important;
  font-weight:600!important;
  white-space:nowrap!important;
}
.document-progress-actions .document-reward-counter.document-counter-inline{
  grid-template-columns:36px 106px 36px!important;
}
.document-progress-actions .document-reward-counter.document-counter-inline > input{
  width:106px!important;
  padding:0 6px!important;
  text-align:center!important;
}
.document-progress-actions .document-reward-counter.document-counter-inline > input::placeholder{
  text-align:center!important;
  color:rgb(var(--muted))!important;
  opacity:.8!important;
  font-weight:400!important;
}
@media(max-width:1180px){
  .document-progress-actions{flex:0 0 330px!important;width:330px!important;min-width:330px!important;padding-left:0!important}
  .document-progress-actions .document-action-label-inline{font-size:.75rem!important}
}
@media(max-width:700px){
  .document-progress-card{flex-wrap:wrap!important}
  .document-progress-actions{flex:0 0 100%!important;width:100%!important;min-width:0!important;align-items:stretch!important}
  .document-progress-actions .document-action-row-inline{justify-content:space-between!important;gap:8px!important}
  .document-progress-actions .document-action-label-inline{justify-content:flex-start!important;text-align:left!important}
  .document-progress-actions .document-counter-inline{flex:0 0 178px!important;width:178px!important;min-width:178px!important}
}

/* 技能详情：任务奖励行与技能效果/如何升级保持一致 */
.skill-task-reward-link{color:rgb(var(--text));text-decoration:none;transition:border-color .15s ease,background .15s ease}
.skill-task-reward-link:hover{border-color:rgb(var(--p-500)/.55);background:rgb(var(--p-500)/.055)}

/* v1506: 物品收集 - 转生需求筛选 */
.collection-prestige-filters{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}
.collection-prestige-filter{
    height:32px;
    padding:0 11px;
    border:1px solid rgb(var(--border));
    border-radius:8px;
    background:rgb(var(--bg-card));
    color:rgb(var(--text));
    font-size:13px;
    line-height:30px;
    cursor:pointer;
    transition:border-color .15s ease,background-color .15s ease,color .15s ease;
}
.collection-prestige-filter:hover:not(:disabled),
.collection-prestige-filter.is-active{
    border-color:rgb(var(--primary));
    color:rgb(var(--primary));
    background:rgb(var(--primary)/.08);
}
.collection-prestige-filter:disabled{
    opacity:.38;
    cursor:not-allowed;
}
@media(max-width:940px){
    .collection-prestige-filters{width:100%;gap:6px}
    .collection-prestige-filter{height:30px;padding:0 9px;font-size:12px;line-height:28px}
}

/* 物品详情：钥匙任务/剧情开锁需求（主题自适应、紧凑布局） */
.key-requirements-stack{display:grid;gap:12px}
.key-requirement-section{border:1px solid rgb(var(--border));border-radius:12px;background:rgb(var(--bg-card));padding:14px}
.key-requirement-heading{display:flex;align-items:center;gap:8px;margin-bottom:10px;color:rgb(var(--text));font-size:14px;font-weight:700}
.key-requirement-heading>span{display:inline-flex;align-items:center;gap:6px}.key-requirement-heading i{color:rgb(var(--p-500))}.key-requirement-heading small{color:rgb(var(--text-muted));font-size:12px;font-weight:400}
.key-requirement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.key-requirement-card{display:block;min-width:0;padding:12px 14px;border:1px solid rgb(var(--border));border-radius:10px;background:transparent;color:rgb(var(--text));text-decoration:none;box-shadow:none;transition:none}
.key-requirement-card:hover,.key-requirement-card:focus,.key-requirement-card:active{border-color:rgb(var(--border));background:transparent;color:rgb(var(--text));outline:none}.key-requirement-card strong{display:block;overflow:hidden;color:rgb(var(--text));font-size:13px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.key-requirement-card span{display:block;overflow:hidden;margin-top:4px;color:rgb(var(--text-muted));font-size:13px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.key-requirement-grid{grid-template-columns:1fr}}

/* v1545: 转生奖励桌面端按游戏内紧凑尺寸展示；大图约占两张小图宽度，不再铺满整行。 */
