*{box-sizing:border-box}body{margin:0;background:#101c24;color:#eaf1f4;font:14px/1.5 system-ui,sans-serif}header.page-header{height:56px;padding:11px 16px;border-bottom:1px solid #344650}h1{font-size:21px;margin:0}main{height:calc(100dvh - 56px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px;padding:14px;overflow:hidden}.map-pane{display:flex;flex-direction:column;min-width:0;min-height:0}.tools{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:9px}button{color:#f3f7f9;background:#2d4858;border:1px solid #608095;border-radius:7px;padding:7px 11px;cursor:pointer}button:hover{background:#426479}#view{flex:1;min-height:0;border:1px solid #425b68;border-radius:10px;overflow:hidden;touch-action:none;background:#061016;cursor:grab}svg{width:100%;height:100%;display:block}.marker{cursor:pointer}.marker:focus{outline:none;filter:drop-shadow(0 0 3px #fff)}.side-pane{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;container-type:inline-size}.display-settings{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-height:24px}.display-settings h2{font-size:13px;margin:0}.display-settings label{display:inline-flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}.display-settings input{margin:0;accent-color:#36d49b}.display-count{font-size:10px;color:#738590;margin-left:1px}.selection h2{font-size:13px;margin:0 0 6px}.selection-list{display:flex;flex-wrap:wrap;gap:6px}.result{display:flex;align-items:center;gap:8px;max-width:100%;min-width:0;text-align:left;margin:0;padding:6px 10px;background:#1b2b35;border-color:#405762}.result.active{border-color:#a2bcc8;background:#243b48}.result img{width:34px;height:34px;object-fit:contain;flex:none;border-radius:50%;background:#0fb376}.result strong{font-size:13px;overflow-wrap:anywhere}#shop-host{flex:1;min-height:0;min-width:0;overflow:hidden}.muted{color:#9cabb5}p{margin:6px 0}.store-panel{height:100%;width:100%;min-width:0;overflow:auto;background:#151e23;color:#f4f5f5;border:1px solid #354751;border-radius:12px;padding:clamp(7px,2.8cqi,20px);container-type:inline-size}.store-header{padding:0 0 10px;border:0}.store-header h2{font-size:clamp(11px,3.3cqi,21px);margin:0;overflow-wrap:anywhere}.store-tools{display:flex;gap:clamp(4px,1.6cqi,10px)}.store-tools input{min-width:0;flex:1;padding:clamp(5px,1.5cqi,9px) 8px;font-size:clamp(8px,2.1cqi,13px);border-radius:6px;border:1px solid #46545d;background:#202c33;color:white}.store-tools select{min-width:0;width:clamp(65px,23cqi,145px);background:#26343d;border:1px solid #53616b;border-radius:6px;color:#d4dfe4;padding:4px;font-size:clamp(7px,1.9cqi,12px)}.store-tabs{display:flex;flex-wrap:wrap;gap:clamp(4px,1.1cqi,7px);margin:12px 0}.store-category{background:#35424b;color:#dce5e9;border:0;border-radius:24px;padding:clamp(5px,1.4cqi,9px) clamp(7px,2.2cqi,14px);margin:0;font-size:clamp(7px,2cqi,13px);white-space:nowrap}.store-category.active{background:#f3f4f4;color:#11191d}.store-tab-info:empty{display:none}.store-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(4px,2.3cqi,15px) clamp(3px,1.7cqi,11px)}.store-card{border:0;background:none;padding:0;margin:0;color:white;text-align:center;min-width:0}.store-card:hover{background:none}.store-card-body{display:flex;flex-direction:column;align-items:center;background:#10161c;border:1px solid #26343d;border-radius:clamp(5px,1.7cqi,11px);padding:clamp(4px,1.5cqi,10px) clamp(2px,.9cqi,6px) clamp(4px,1.2cqi,8px)}.store-card:hover .store-card-body{border-color:#68808f;background:#18252e}.store-card.selected .store-card-body{border-color:#fff}.store-item-name{font-size:clamp(6px,2.05cqi,13px);font-weight:600;line-height:1.25;min-height:clamp(23px,7.8cqi,49px);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}.store-item-image{display:block;width:100%;height:clamp(28px,18cqi,112px);object-fit:contain;margin:3px 0 5px}.store-limit{font-size:clamp(6px,1.7cqi,11px);color:#b9c8cf;min-height:clamp(10px,2.7cqi,17px)}.store-card-price{display:flex;gap:clamp(2px,.9cqi,6px);align-items:center;justify-content:center;padding:6px 0 2px;min-width:0}.store-card-price img{width:clamp(9px,3.2cqi,20px);height:clamp(9px,3.2cqi,20px);object-fit:contain}.store-card-price b{font-size:clamp(5px,2.5cqi,17px);min-width:0;overflow-wrap:anywhere}.store-item-detail{position:relative;background:#20323d;border:1px solid #7694a4;border-radius:8px;padding:12px;margin:10px 0 16px;font-size:clamp(9px,1.9cqi,12px);overflow-wrap:anywhere}.store-item-detail h3{margin:0 80px 8px 0;font-size:clamp(11px,2.5cqi,16px)}.store-detail-close{position:absolute;right:7px;top:7px;font-size:10px;padding:4px}.shop-conditions{font-size:inherit;margin-top:7px}.shop-conditions summary{cursor:pointer;color:#b8d4df}.shop-conditions code{display:block;font-size:10px;color:#9cb2bc;overflow-wrap:anywhere}.store-empty{grid-column:1/-1;color:#adbec8;padding:22px 5px}.store-empty-state h2{font-size:18px;margin:0 0 12px}.store-empty-state p{font-size:13px;color:#96a9b4}@media(max-width:700px){main{gap:7px;padding:8px}.tools{gap:4px}.tools button{padding:5px 7px;font-size:11px}.display-settings{gap:5px 7px}.display-settings h2{font-size:11px}.display-settings label{font-size:10px;gap:3px}.display-settings input{width:11px;height:11px}.display-count{font-size:9px}.result{padding:5px 6px;gap:5px}.result img{width:27px;height:27px}.result strong{font-size:11px}}


.page-header{display:flex;align-items:center;gap:24px;position:relative;z-index:5}.page-header h1{white-space:nowrap}#map-search-wrap{position:relative;max-width:520px;flex:1;min-width:0}#map-search{width:100%;padding:7px 12px;background:#202c33;color:white;border:1px solid #46545d;border-radius:7px}#map-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:min(55vh,440px);overflow:auto;background:#15232d;border:1px solid #69818f;border-radius:8px;box-shadow:0 8px 25px #0009;padding:8px}#map-search-results[hidden]{display:none}.map-search-result{display:flex;flex-direction:column;width:100%;text-align:left;margin:4px 0}.map-search-result span,.map-search-count{font-size:11px;color:#a9bbc5}.store-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.store-header h2{flex:1;min-width:0}.store-header select{flex:none;max-width:45%;min-width:0;background:#26343d;color:#d4dfe4;border:1px solid #53616b;border-radius:6px;padding:4px;font-size:clamp(7px,1.9cqi,12px)}.store-artwork{position:relative;display:block;width:100%}.store-quantity-badge{position:absolute;bottom:5px;right:3px;color:white;font-size:clamp(9px,3cqi,20px);font-weight:800;text-shadow:0 1px 3px #000,1px 0 2px #000}.product-popup button:focus-visible,.map-search-result:focus-visible{outline:2px solid #ffe28b;outline-offset:2px}@media(max-width:700px){.page-header{gap:10px;padding:10px}.page-header h1{font-size:15px}#map-search{font-size:11px;padding:6px}}
.product-colors{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0}.color-swatch{display:inline-block;width:22px;height:22px;border:1px solid #b7c4cc;border-radius:4px;vertical-align:middle;margin:0 5px}.box-content-list{padding-left:22px}.box-content-list li{margin:8px 0}.box-content-list small{display:block;color:#adbec8}

.product-popover{position:fixed;z-index:20;width:min(390px,calc(100vw - 16px));max-height:min(560px,calc(100dvh - 16px));overflow:auto;overscroll-behavior:contain;background:#20323d;border:1px solid #7694a4;border-radius:10px;padding:16px;color:#f2f5f6;box-shadow:0 8px 30px #0009;scrollbar-gutter:stable;overflow-wrap:anywhere}.product-popover h2{font-size:16px;margin:0 0 10px}.product-popover h3{font-size:14px}.detail-item-image{width:56px;height:56px;object-fit:contain;flex:none}.detail-image-fallback{display:inline-flex;width:56px;min-height:46px;align-items:center;justify-content:center;font-size:9px;color:#8c9fa9;border:1px dashed #566b76;flex:none}.box-content-list{padding:0;list-style:none}.box-content-list li{display:flex;align-items:center;gap:9px}.box-content-list li>span:last-child{min-width:0}.store-panel{scrollbar-gutter:stable}.store-grid,.store-header,.store-tabs{min-width:0;max-width:100%}.store-card-body{width:100%}.period-note{font-size:11px;color:#c0cbd1}

.event-sources{display:flex;flex-wrap:wrap;gap:9px;font-size:11px}.event-sources a{color:#afd8ed}.product-popover:focus-visible{outline:2px solid #ffe28b}
.map-search-result{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px}.search-art{display:block;position:relative;width:44px;height:44px}.search-item-image,.search-npc-image{display:block;width:40px;height:40px;object-fit:contain}.search-npc-image{border-radius:50%;background:#0fb376}.search-npc-face{position:absolute;right:-2px;bottom:-2px;width:21px;height:21px;object-fit:contain;border-radius:50%;background:#0fb376;border:1px solid #15232d}.search-caption{min-width:0;display:flex;flex-direction:column}.search-title{font-size:13px;color:#f1f5f7;overflow-wrap:anywhere}.search-location{font-size:11px}.search-price{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.search-price img,.product-payment img{width:24px;height:24px;object-fit:contain;flex:none}.search-price b{font-size:14px;color:white}.product-payment{display:flex;align-items:center;gap:8px}.shop-conditions h3{font-size:12px;margin:10px 0 3px;color:#b8d4df}.shop-conditions p{font-size:12px;margin:4px 0}.period-state{font-size:12px;font-weight:600;color:#f3d19a}

.store-period-status{font-size:11px;color:#f3d19a;margin:0 0 9px}.store-period-status:empty{display:none}
.store-product-filters{display:flex;flex-wrap:wrap;gap:5px 12px;margin:9px 0;color:#aebfc8;font-size:clamp(9px,1.9cqi,12px)}.store-product-filters label{display:flex;align-items:center;gap:4px}.store-product-filters input{margin:0;accent-color:#36d49b}.store-card-body{position:relative}.limited-corner{position:absolute;top:0;right:0;width:clamp(22px,6cqi,38px);height:clamp(22px,6cqi,38px);overflow:hidden;pointer-events:none;border-radius:0 7px 0 0}.limited-ribbon{position:absolute;right:-31%;top:17%;width:140%;transform:rotate(45deg);background:#8c6a3c;color:#fff3d8;font-size:clamp(5px,1.6cqi,10px);line-height:1.6;font-weight:700;box-shadow:0 1px 3px #0007;text-align:center}.has-limited .store-item-name{padding-right:clamp(22px,6cqi,38px);width:100%}.detail-artwork{position:relative;display:inline-block;width:76px;height:76px}.detail-artwork>.detail-item-image{width:76px;height:76px}.detail-quantity-badge{position:absolute;right:1px;bottom:0;color:white;font-size:18px;font-weight:800;text-shadow:0 1px 3px #000,1px 0 2px #000}.detail-label,.shop-conditions h3{color:#b8d4df}.product-payment{flex-wrap:wrap;gap:6px}.product-payment b{font-weight:700}
.detail-row{display:flex;flex-wrap:wrap;align-items:center;gap:3px 5px}.detail-label{color:#b8d4df;flex:none}.product-payment img{width:24px;height:24px}.detail-row>span:not(.detail-label){min-width:0;overflow-wrap:anywhere}

.store-product-filters[hidden]{display:none}
#continent-select,#map-select,#world-variant{min-width:0;max-width:200px;background:#203640;color:#f2f5f7;border:1px solid #608095;border-radius:7px;padding:5px 8px}.display-settings[hidden],.selection[hidden]{display:none}.world-regions h2{font-size:18px;margin:0 0 14px}.world-region-button{display:block;width:100%;margin:8px 0;text-align:left}.store-image-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(28px,18cqi,112px);font-size:clamp(6px,1.8cqi,11px);color:#8096a2}.search-image-fallback{display:flex;align-items:center;justify-content:center;font-size:8px;height:40px;color:#91a5b1}.tools select{font-size:12px}
.currency-name-fallback{font-size:clamp(6px,1.7cqi,10px);color:#b5c7d0;line-height:1.15;overflow-wrap:anywhere;max-width:65%;text-align:center}.search-price .currency-name-fallback{font-size:9px;max-width:90px}.search-price{max-width:145px;white-space:normal}

#world-variant-controls{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}#world-variant-controls[hidden],.object-settings[hidden]{display:none}#world-variant-controls small{color:#acbdc6}.object-settings{padding-top:0;padding-bottom:4px}

#gather-controls{flex-shrink:0;padding:0 0 8px}#gather-controls[hidden],#gather-empty[hidden]{display:none}.gather-filter-row{display:flex;gap:8px;align-items:flex-start}.gather-filter-row select{max-width:170px;min-width:0;background:#203640;color:#eef3f5;border:1px solid #608095;border-radius:6px;padding:5px}#gather-item-options{flex:1;min-width:0}#gather-item-options summary{cursor:pointer;padding:5px;color:#c3d8e4}.gather-filter-tools{display:flex;gap:4px}.gather-filter-tools input{min-width:0;width:100%;background:#1f2d35;color:#fff;border:1px solid #4b6570;border-radius:4px}.gather-filter-tools button{white-space:nowrap}#gather-item-list{max-height:150px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:4px}#gather-item-list label{display:flex;align-items:center;gap:4px;font-size:12px;min-width:0}#gather-item-list img,.gather-loot img{width:24px;height:24px;object-fit:contain}#gather-empty{font-size:12px;color:#b9cad1;margin:3px 0}.gather-area-info{overflow:auto}.gather-area-info h3{display:flex;align-items:center;gap:8px;font-size:15px}.gather-area-info h3 img{width:36px;height:36px;object-fit:contain}.gather-area-info small{color:#a4bac5}.gather-loot{display:flex;flex-wrap:wrap;gap:8px}.gather-loot>span{display:flex;align-items:center;gap:4px;font-size:13px}

.gather-direct-heading{display:flex;align-items:center;gap:6px;font-size:12px}.gather-direct-heading>span{margin-right:auto;color:#c5d9e4}.gather-direct-heading button{font-size:11px;padding:3px 7px}#gather-item-query{display:block;box-sizing:border-box;width:100%;margin:4px 0;background:#1f2d35;color:#fff;border:1px solid #4b6570;border-radius:4px;padding:4px 6px}#gather-item-list{max-height:180px}.gather-secondary{display:flex;align-items:center;gap:14px;font-size:11px;color:#a7bdc9}.gather-secondary details{position:relative}.gather-secondary select{max-width:170px;background:#203640;color:#eef3f5}.gather-secondary summary{cursor:pointer}

.gather-secondary{flex-wrap:wrap}.inferred-spot>circle:first-of-type{stroke-dasharray:3 2}#gather-item-list label small{color:#8ea4af;font-size:10px;white-space:nowrap}.gather-spot-info small{color:#a4bac5}.gather-spot-info .gather-loot{margin-top:16px}.gather-spot-info{overflow:auto}

.gather-direct-heading{justify-content:flex-end}.gather-estimate-control{display:flex;align-items:center;gap:4px;font-size:11px;color:#a7bdc9}.gather-object-reward{margin-top:12px}.gather-object-reward h3{display:flex;align-items:center;gap:7px;font-size:16px}.gather-object-reward h3 img{width:36px;height:36px;object-fit:contain}

#view{touch-action:none;user-select:none}

.gather-skill-heading{grid-column:1/-1;font-size:11px;font-weight:500;color:#b8c9d2;margin:7px 0 2px;padding-bottom:2px;border-bottom:1px solid #31414b}.gather-skill-heading:first-child{margin-top:0}#gather-item-list .gather-object-count{font-size:10px;color:#7e929e;font-weight:400;margin-left:1px}

/* 採集設定はtop layerへ置き、商店/選択カードの高さを消費しない。 */
.gather-settings-button{font-size:11px;padding:2px 7px}.mixed-gather-cluster>circle:first-of-type{fill:#40536a}
#gather-controls[popover]{position:fixed;inset:auto;margin:0;padding:12px;color:#eaf1f4;background:#15252f;border:1px solid #698390;border-radius:9px;box-shadow:0 8px 35px #0008;overflow:auto;box-sizing:border-box}
#gather-controls[popover]:not(:popover-open){display:none}#gather-controls[popover]:popover-open{display:block}.gather-popup-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.gather-popup-heading h2{font-size:15px;margin:0}.gather-popup-heading button{padding:1px 8px;font-size:20px}#gather-controls #gather-item-list{max-height:none;overflow:visible}.gather-popup-heading~.gather-direct-heading{margin-bottom:6px}

/* 地域・版セレクトの高さと見出しリンクの見た目を揃える。 */
.tools select{height:34px;box-sizing:border-box}.page-header h1 a{color:inherit;text-decoration:none}.page-header h1 a:focus-visible{outline:2px solid #ffe28b;outline-offset:4px;border-radius:3px}

.gather-icon-fallback{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;font-size:8px;color:#8b9da7}
