:root{--bg:#0b151b;--panel:#17232e;--panel2:#20303d;--line:#ffffff10;--text:#e7edf0;--muted:#8b9eab;--accent:#b9dbc5;--gold:#e0c184;--red:#df8d98}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;overflow:hidden}body{font:14px/1.5 "Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{color:inherit;cursor:pointer;background:none;border:0}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:hover{filter:brightness(1.18)}button:disabled{opacity:.3;cursor:default}input{accent-color:#b9dbc5}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:var(--accent)}[hidden]{display:none!important}.map-stage{position:absolute;inset:0 0 0 395px;transition:left .25s;background:radial-gradient(ellipse at 60% 45%,#142a32,#0b161d 75%)}#map{display:block;width:100%;height:100%;outline:0;cursor:grab;touch-action:none}#map.dragging{cursor:grabbing}.map-stage:before{content:"";pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 40%,#07101750 100%)}.map-heading{position:absolute;top:30px;left:35px;pointer-events:none;text-shadow:0 2px 10px #0009}.eyebrow{color:#a9c9bb;font-size:10px;letter-spacing:3px;font-weight:600}h1{font-size:25px;letter-spacing:3px;margin:5px 0 3px;font-weight:500}.map-heading p{font-size:12px;color:#a2b5bf;margin:0}.sidebar{position:absolute;left:22px;top:22px;bottom:22px;width:355px;display:flex;flex-direction:column;background:linear-gradient(145deg,#21313e,#17232e 65%);box-shadow:0 12px 55px #0005;border:1px solid #ffffff10;border-radius:18px;overflow:hidden;transition:transform .25s}.sidebar-header{padding:25px 22px 18px}.brand{display:flex;align-items:center;gap:10px;margin-bottom:27px}.brand-mark{color:var(--accent);font-size:42px;line-height:40px}.brand strong{display:block;font-size:21px;letter-spacing:4px;font-weight:500}.brand strong span{font-size:12px;letter-spacing:2px;margin-left:12px;color:#b1c0c7}.brand small{color:var(--muted);font-size:10px;letter-spacing:1px}.offline{margin-left:auto;white-space:nowrap;font-size:9px;padding:3px 6px;border:1px solid #a5c7b333;border-radius:5px;color:#a5c7b3}.area-label{font-size:10px;letter-spacing:2px;color:var(--muted)}.area-selector{position:relative;margin:7px 0 15px}.area-selector select{width:100%;appearance:none;background:#ffffff07;color:var(--text);border:1px solid #ffffff15;border-radius:9px;padding:10px 13px;font-size:15px;letter-spacing:1px;cursor:pointer;outline:none}.area-selector select option{background:#1d2b37}.area-selector>span{position:absolute;right:14px;top:8px;color:var(--muted);pointer-events:none}.search-wrap{display:flex;gap:9px;align-items:center;border:1px solid #ffffff14;border-radius:8px;padding:8px 10px;background:#0b151b35}.search-wrap>span{font-size:24px;line-height:20px;color:#9bafbc}.search-wrap input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:12px}.search-wrap input::placeholder{color:#8499a7}kbd{color:#8b9eab;background:#ffffff08;padding:0 5px;border:1px solid #ffffff12;border-radius:3px;font-size:10px}.tabs{display:grid;grid-template-columns:repeat(4,1fr);padding:0 16px;border-bottom:1px solid var(--line)}.tabs button{padding:11px 0 13px;font-size:12px;color:#91a4b2;position:relative}.tabs button span{display:block;font-size:21px;line-height:25px;margin-bottom:3px}.tabs button.active{color:var(--accent)}.tabs button.active:after{content:"";position:absolute;bottom:-1px;left:25%;right:25%;height:2px;background:var(--accent)}.filter-toolbar{padding:17px 22px 12px;display:flex;align-items:center;gap:12px}.filter-toolbar>div{flex:1}.filter-toolbar strong{font-weight:500;font-size:12px}.filter-toolbar #categoryCount{font-size:10px;margin-left:6px;color:var(--muted)}.filter-toolbar button{padding:0;font-size:10px;color:#a4b9c6}.filter-list{flex:1;min-height:0;overflow:auto;padding:0 16px 18px;scrollbar-width:thin;scrollbar-color:#536773 transparent}.filter-group-title{font-size:10px;color:#869dab;letter-spacing:1px;padding:13px 6px 9px;display:flex;justify-content:space-between}.filter-group-title:first-child{padding-top:2px}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px}.filter-card{padding:0;min-width:0;text-align:center;position:relative;opacity:.8}.filter-card.selected{opacity:1}.filter-card.zero{opacity:.35}.filter-card .thumb{width:100%;aspect-ratio:1;background:#0d1a2680;border:1px solid #ffffff07;border-radius:9px;display:flex;align-items:center;justify-content:center;position:relative;transition:background .12s,border .12s}.filter-card.selected .thumb{border-color:#c8d7b8;background:#bfd5bd16;box-shadow:0 0 0 1px #c7d9c515 inset}.filter-card img{width:85%;height:85%;object-fit:contain;filter:drop-shadow(0 2px 3px #0005)}.filter-card .check{display:none;position:absolute;right:0;top:0;border-radius:0 7px 0 6px;color:#1c302d;background:#bfd5bd;font-size:10px;width:18px;height:16px}.filter-card.selected .check{display:block}.card-count{position:absolute;right:5px;bottom:1px;font-size:9px;color:#a3b5be;text-shadow:0 1px 2px #000}.filter-card .label{font-size:10px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:6px;color:#c8d2d8}.filter-card.selected .label{color:#e4eacf}.fallback-icon{font-size:32px;color:#beccbd}.no-filters{padding:50px 10px;color:var(--muted);font-size:12px;text-align:center}.sidebar-footer{border-top:1px solid var(--line);padding:16px 22px 17px;background:#0f1d2840}.switch-row{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:11px}.switch-row small{display:block;font-size:9px;color:#829aa8;margin-top:2px}.switch-row input{position:absolute;opacity:0}.switch-row i{background:#435460;position:relative;width:29px;height:17px;border-radius:20px;transition:background .2s}.switch-row i:before{content:"";position:absolute;width:11px;height:11px;left:3px;top:3px;border-radius:50%;background:#b5c1c6;transition:transform .2s}.switch-row input:checked+i{background:#769582}.switch-row input:checked+i:before{transform:translateX(12px);background:#dfeddf}.minor-options{display:flex;gap:16px;margin-top:14px;font-size:10px;color:#9aafbc}.minor-options input{vertical-align:middle;margin:0 5px 0 0;width:11px;height:11px}.progress-row{display:flex;align-items:center;gap:10px;font-size:9px;color:#839daa;margin-top:17px}.progress-row>span{flex:1}.progress-row button{padding:0;color:#9eb7ad;font-size:9px}.progress-line{height:2px;background:#ffffff0a;margin-top:8px;overflow:hidden}.progress-line i{display:block;width:0;height:100%;background:var(--accent)}.tools{position:absolute;right:24px;top:28px;display:flex;flex-direction:column;border:1px solid #ffffff12;box-shadow:0 6px 20px #0003;border-radius:10px;background:#1f2f3bed;overflow:hidden;backdrop-filter:blur(10px)}.tools button{width:43px;height:43px;font-size:21px;color:#d5e0e4}.tools button:last-child{font-size:17px}.tools span{height:1px;background:#ffffff12;margin:3px 9px}.legend{position:absolute;left:35px;bottom:78px;display:flex;gap:7px;align-items:center;color:#a6b7c0;font-size:10px}.dot{width:6px;height:6px;border-radius:50%;margin-left:10px}.dot:first-child{margin-left:0}.dot.chest{background:#e1be76}.dot.collection{background:#92c3b3}.dot.monster{background:#dc8796}.legend span{margin-left:12px;color:#718996}.map-status{display:flex;align-items:center;gap:20px;position:absolute;bottom:17px;left:35px;right:26px;color:#69818f;font-size:9px;pointer-events:none}.map-status span:last-child{margin-left:auto}.selected-bar{position:absolute;bottom:31px;left:35px;right:90px;display:flex;gap:6px;align-items:center;overflow:hidden;height:35px;pointer-events:none}.selected-bar button,.selected-bar .chip{pointer-events:auto;padding:5px 9px;border:1px solid #c7dbb628;border-radius:6px;background:#1b2a33e0;color:#c5d7c2;font-size:10px;white-space:nowrap}.selected-bar .selection-label{font-size:10px;color:#92a5b1;white-space:nowrap}.selected-bar .chip img{width:16px;height:16px;vertical-align:middle;margin-right:4px}.selected-bar .chip span{margin-left:8px;color:#80988e}.detail-panel{position:absolute;right:85px;top:115px;width:300px;border:1px solid #ffffff18;border-radius:14px;background:#1b2b37f5;box-shadow:0 12px 45px #0005;overflow:auto;max-height:calc(100% - 180px);padding:22px;backdrop-filter:blur(18px);font-size:12px}.detail-close{position:absolute;right:10px;top:8px;font-size:20px;color:#94aab7}.detail-kicker{color:#9cbcb0;font-size:9px;letter-spacing:2px}.detail-panel h2{font-size:19px;line-height:1.5;letter-spacing:1px;font-weight:500;margin:13px 0 4px}.detail-panel .sub{font-size:10px;color:#8fa6b4}.detail-divider{height:1px;background:var(--line);margin:16px 0}.detail-label{font-size:10px;color:#90a5b2;margin:12px 0 8px}.item-tags{display:flex;flex-wrap:wrap;gap:5px}.item-tags button{font-size:10px;color:#bdcfc6;background:#ffffff06;padding:5px 7px;border-radius:4px;border:1px solid #ffffff0b}.item-tags img{width:20px;height:20px;vertical-align:middle;margin-right:3px}.detail-note{font-size:10px;line-height:1.9;color:#95a9b5}.detail-coords{font-family:Consolas,monospace;font-size:10px;color:#9db1ba;background:#0e1b2540;border-radius:6px;padding:9px;margin-top:10px}.complete-btn{background:#c2d9c4;color:#1b3229;border-radius:7px;width:100%;padding:10px;margin-top:18px;font-size:12px}.complete-btn.is-done{background:#ffffff08;color:#b4c6ba;border:1px solid #b4c6ba44}.detail-list{margin-top:15px;display:flex;flex-direction:column;gap:5px}.detail-list button{text-align:left;padding:10px;border:1px solid #ffffff0b;border-radius:7px;font-size:11px}.detail-list button small{display:block;font-size:9px;color:#829ba9}.empty-map{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;max-width:420px;width:75%;max-height:65%;overflow:auto}.empty-symbol{font-size:65px;color:#547069}.empty-map h2{font-size:20px;font-weight:400}.empty-map p{color:#8aa3b2;font-size:12px}#noMapList{display:flex;flex-direction:column;gap:5px;margin-top:20px}#noMapList button{padding:9px 15px;background:#ffffff05;border-radius:6px;font-size:11px;text-align:left;color:#b6c9c1}#toast{position:absolute;top:30px;left:calc(50% + 130px);transform:translateX(-50%) translateY(-15px);background:#d2e3ce;color:#20312b;padding:9px 18px;border-radius:8px;font-size:11px;box-shadow:0 6px 30px #0004;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:10}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}dialog{color:var(--text);background:#1b2b38;border:1px solid #ffffff20;border-radius:16px;width:520px;max-width:90%;padding:35px;box-shadow:0 20px 90px #0009}dialog::backdrop{background:#031019aa;backdrop-filter:blur(5px)}dialog h2{font-size:23px;letter-spacing:1px;font-weight:400}dialog p,dialog li{color:#afc2ce;font-size:12px;line-height:1.9}dialog ul{padding-left:20px}dialog li{margin-bottom:8px}dialog .help-note{font-size:10px;color:#86a2b3}.close-help{position:absolute;right:13px;top:9px;font-size:22px}dialog a{font-size:12px}.sidebar-hidden .sidebar{transform:translateX(-410px)}.sidebar-hidden .map-stage{left:0}.sidebar-hidden #toast{left:50%}
@media(max-width:850px){.sidebar{width:310px;left:12px;top:12px;bottom:12px}.map-stage{left:334px}.sidebar-header{padding:20px 18px 15px}.brand strong{font-size:18px}.brand strong span{margin-left:8px}.offline{display:none}.filter-toolbar{padding-left:18px;padding-right:18px}.filter-grid{gap:10px 6px}.map-heading{left:22px;top:22px}h1{font-size:20px}.tools{right:14px;top:20px}.tools button{width:35px;height:38px}.detail-panel{right:58px;width:270px}.map-status{left:22px}.map-status span:last-child{display:none}.legend{left:22px;font-size:9px}.legend span{display:none}.selected-bar{left:22px}.sidebar-footer{padding:13px 18px}.brand{margin-bottom:20px}}
@media(max-width:600px){.map-stage{left:0}.sidebar{z-index:3;width:290px;box-shadow:15px 0 80px #000a}.map-heading{left:20px;top:20px}h1{font-size:19px}.map-heading .eyebrow{font-size:8px}.map-heading p{font-size:10px}.detail-panel{z-index:4;right:14px;top:auto;bottom:90px;max-height:65%;width:calc(100% - 28px)}#toast{left:50%;top:auto;bottom:130px;width:max-content;max-width:90%}.map-status,.legend,.selected-bar{left:20px}.selected-bar{right:20px}.sidebar-hidden .sidebar{transform:translateX(-330px)}}
