.ksahm-wrap{margin:0}.ksahm-stats{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto;align-items:center}.ksahm-stats span{font-size:.78rem;padding:5px 9px;border:1px solid #d8dde5;border-radius:999px}.ksahm-toolbar{display:flex;gap:10px;margin:0 0 14px;flex-wrap:wrap;align-items:center}.ksahm-toolbar input,.ksahm-toolbar select{min-height:34px;padding:5px 8px;font-size:14px}.ksahm-toolbar input{min-width:min(240px,100%)}.ksahm-scroll{overflow:auto;border:1px solid #cfd5dd;background:#fff}.ksahm-top-axis{display:grid;grid-template-columns:repeat(var(--cols),24px);margin-left:36px;height:34px}.ksahm-top-axis span{font-size:9px;writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;border-left:1px solid #eceff3;padding-top:2px}.ksahm-map-row{display:flex}.ksahm-left-axis{display:grid;grid-template-rows:repeat(var(--rows),24px);width:36px;flex:0 0 36px}.ksahm-left-axis span{font-size:9px;display:flex;align-items:center;justify-content:center;border-top:1px solid #eceff3}.ksahm-board{position:relative;display:grid;grid-template-columns:repeat(var(--cols),24px);grid-template-rows:repeat(var(--rows),24px);background-color:#fafafa;background-image:linear-gradient(#e7e9ed 1px,transparent 1px),linear-gradient(90deg,#e7e9ed 1px,transparent 1px);background-size:24px 24px;min-width:calc(var(--cols)*24px);min-height:calc(var(--rows)*24px)}.ksahm-slot{z-index:2;border:1px solid rgba(0,0,0,.45);padding:2px;background:#5bd36a;color:#102515;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;min-width:0;cursor:pointer}.ksahm-slot.bt2{background:#65b7ef}.ksahm-slot.is-empty{background:#fff;color:#111}.ksahm-slot.is-empty.bt1{border-color:#39a84a}.ksahm-slot.is-empty.bt2{border-color:#318bc7}.ksahm-slot.is-empty .ksahm-slotno{font-size:13px}.ksahm-slot.is-occupied{box-shadow:inset 0 0 0 2px rgba(255,255,255,.72)}.ksahm-slot:focus{outline:3px solid #111;outline-offset:1px}.ksahm-slotno{font-weight:900;font-size:14px;line-height:1}.ksahm-player{font-size:8px;line-height:1.05;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ksahm-object{z-index:3;display:flex;align-items:center;justify-content:center;border:1px solid #7d250d;background:#bf4b13;color:white;text-align:center}.ksahm-object.is-hq{background:#b70b0b}.ksahm-object.is-mill{background:#be0b0b}.ksahm-object strong{font-size:19px}.ksahm-slot.is-filtered{opacity:.1}.ksahm-slot.is-match{outline:3px solid #111;z-index:5}.ksahm-unmapped{margin-top:14px}.ksahm-unmapped summary{cursor:pointer;font-weight:700}.ksahm-unmapped-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:10px}.ksahm-unmapped-grid div{border:1px solid #d8dde5;padding:8px 10px;display:flex;justify-content:space-between;gap:10px}.ksahm-unmapped-grid span{opacity:.7}.ksahm-note{font-size:.82rem;opacity:.72;margin-top:12px}@media(max-width:600px){.ksahm-toolbar>*{width:100%}.ksahm-stats{width:100%;margin-left:0}.ksahm-stats span{width:auto}}
.ksahm-refresh,.ksahm-refresh-one{border:1px solid #d8dde5;background:transparent;color:inherit;border-radius:6px;cursor:pointer;font:inherit}.ksahm-refresh{min-height:40px;padding:7px 12px;font-weight:700}.ksahm-refresh:hover,.ksahm-refresh-one:hover{border-color:currentColor}.ksahm-refresh:disabled,.ksahm-refresh-one:disabled{opacity:.5;cursor:wait}.ksahm-refresh-status{align-self:center;font-size:.82rem;opacity:.8}.ksahm-refresh-status.is-error{color:#c83b3b;opacity:1}.ksahm-unmapped-grid .ksahm-unmapped-person{align-items:center}.ksahm-refresh-one{padding:4px 7px;font-size:.72rem}.ksahm-unmapped-person.is-refreshing{opacity:.55}.ksahm-unmapped-person.is-refreshed{outline:2px solid currentColor;outline-offset:-2px}
/* v0.2.5: compact unmapped cards, on-map warnings, and alliance mines */
.ksahm-unmapped-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.ksahm-unmapped-grid .ksahm-unmapped-person{position:relative;min-height:72px;padding:12px 42px 12px 12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;background:transparent}
.ksahm-unmapped-person strong{display:block;line-height:1.15}
.ksahm-unmapped-person span{display:block;opacity:.76;font-variant-numeric:tabular-nums}
.ksahm-unmapped-person.is-on-map{background:#a81414;color:#fff;border-color:#d94a4a}
.ksahm-unmapped-person.is-on-map span{opacity:.9}
.ksahm-refresh-one{position:absolute;top:7px;right:7px;width:30px;height:30px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;font-weight:700}
.ksahm-mine{z-index:4;background:#111;color:#fff;border:1px solid #444;display:flex;align-items:center;justify-content:center;pointer-events:none}
.ksahm-mine span{font-size:10px;font-weight:800;letter-spacing:.03em}
.ksahm-offslot-marker{z-index:5;background:rgba(204,24,24,.68);box-shadow:inset 0 0 0 1px rgba(125,0,0,.9);pointer-events:none}

/* v0.4.0 Bear Trap attendance heatmap */
.ksahm-heat-toolbar{align-items:center}.ksahm-heat-legend{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-left:auto}.ksahm-heat-legend span{padding:5px 8px;border:1px solid rgba(0,0,0,.22);border-radius:5px;font-size:.72rem;font-weight:800;color:#251f16}.ksahm-heat-slot{z-index:2;border:1px solid rgba(0,0,0,.42);padding:2px;color:#24190c;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;min-width:0;text-decoration:none!important;transition:background-color .12s ease,box-shadow .12s ease}.ksahm-heat-slot .ksahm-slotno{color:inherit}.ksahm-heat-slot .ksahm-player{color:inherit}.ksahm-heat-slot:not(.is-empty){box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}.ksahm-heat-slot:focus{outline:3px solid #111;outline-offset:1px;z-index:6}.ksahm-heat-slot.is-empty,.ksahm-heat-slot.heat-nodata,.ksahm-heat-legend .heat-zero{background:#fff}.ksahm-heat-slot.heat-zero{background:#fff}.ksahm-heat-slot.heat-low,.ksahm-heat-legend .heat-low{background:#ffe36a}.ksahm-heat-slot.heat-mid,.ksahm-heat-legend .heat-mid{background:#f6b73c}.ksahm-heat-slot.heat-high,.ksahm-heat-legend .heat-high{background:#ef7d24}.ksahm-heat-slot.heat-top,.ksahm-heat-legend .heat-top{background:#d92b24;color:#fff}.ksahm-heat-slot.heat-top .ksahm-player,.ksahm-heat-slot.heat-top .ksahm-slotno{color:#fff}@media(max-width:600px){.ksahm-heat-legend{width:100%;margin-left:0}.ksahm-heat-toolbar select{width:auto;min-width:130px}}

/* v0.4.1 combined normal/heatmap view */
.ksahm-mode-toolbar{align-items:center}.ksahm-normal-controls,.ksahm-heat-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ksahm-normal-controls{flex:1;min-width:0}.ksahm-normal-controls [data-ksahm-search]{margin-left:auto;min-width:220px;flex:0 1 300px}.ksahm-normal-controls[hidden],.ksahm-heat-controls[hidden]{display:none!important}.ksahm-mode-toolbar>[data-ksahm-view]{min-width:135px}.ksahm-mode-toolbar .ksahm-heat-legend{margin-left:4px}.ksahm-wrap.is-heat-mode .ksahm-slot{background:#fff;color:#24190c;border-color:rgba(0,0,0,.42);box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}.ksahm-wrap.is-heat-mode .ksahm-slot.heat-zero,.ksahm-wrap.is-heat-mode .ksahm-slot.heat-nodata{background:#fff}.ksahm-wrap.is-heat-mode .ksahm-slot.heat-low{background:#ffe36a}.ksahm-wrap.is-heat-mode .ksahm-slot.heat-mid{background:#f6b73c}.ksahm-wrap.is-heat-mode .ksahm-slot.heat-high{background:#ef7d24}.ksahm-wrap.is-heat-mode .ksahm-slot.heat-top{background:#d92b24;color:#fff}.ksahm-wrap.is-heat-mode .ksahm-slot.heat-top .ksahm-player,.ksahm-wrap.is-heat-mode .ksahm-slot.heat-top .ksahm-slotno{color:#fff}.ksahm-wrap.is-heat-mode .ksahm-slot.is-empty{box-shadow:none}.ksahm-wrap.is-heat-mode .ksahm-slot.is-occupied{cursor:pointer}
@media(max-width:600px){.ksahm-mode-toolbar>[data-ksahm-view]{width:100%}.ksahm-normal-controls,.ksahm-heat-controls{width:100%}.ksahm-normal-controls>*{width:100%}.ksahm-heat-controls select{width:auto;min-width:130px}}

/* v0.4.6 simplified Normal Map / Beartrap control flow */
.ksahm-mode-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ksahm-mode-toolbar>[data-ksahm-view]{min-width:135px}
.ksahm-normal-controls,.ksahm-bear-controls,.ksahm-bear-normal-controls,.ksahm-heat-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ksahm-normal-controls[hidden],.ksahm-bear-controls[hidden],.ksahm-bear-normal-controls[hidden],.ksahm-heat-controls[hidden],.ksahm-heat-legend[hidden]{display:none!important}
.ksahm-mode-toolbar>[data-ksahm-search]{margin-left:auto;min-width:220px;flex:0 1 375px}
.ksahm-check{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 9px;border:1px solid #d8dde5;background:#fff;font-size:14px;white-space:nowrap}
.ksahm-check input{min-width:0;width:auto;margin:0}
.ksahm-wrap>.ksahm-heat-legend{margin:10px 0 0 36px;justify-content:flex-start}
@media(max-width:600px){
  .ksahm-mode-toolbar>[data-ksahm-view],.ksahm-mode-toolbar>[data-ksahm-search],.ksahm-normal-controls,.ksahm-bear-controls{width:100%}
  .ksahm-mode-toolbar>[data-ksahm-search]{margin-left:0;min-width:0;flex:1 1 100%}
  .ksahm-wrap>.ksahm-heat-legend{margin-left:0}
}


/* v0.4.7 compact filter controls + restored heatmap BT selector */
.ksahm-check{position:relative;border:1px solid #b9c2cc;border-radius:3px;background:#fff;color:#20262d;font-weight:600;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}
.ksahm-check:hover{border-color:#7d8b99}
.ksahm-check:focus-within{border-color:#4d90c9;box-shadow:0 0 0 2px rgba(77,144,201,.16)}
.ksahm-check input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;min-width:16px;border:1px solid #8d98a4;border-radius:3px;background:#fff;display:inline-grid;place-content:center;margin:0}
.ksahm-check input[type=checkbox]::before{content:"";width:8px;height:8px;transform:scale(0);transition:transform .08s ease;background:currentColor;clip-path:polygon(14% 44%,0 59%,40% 100%,100% 20%,84% 5%,39% 70%)}
.ksahm-check input[type=checkbox]:checked::before{transform:scale(1)}
.ksahm-check input[type=checkbox]:checked{border-color:#4d90c9;color:#286fa8;background:#eef7fd}
.ksahm-wrap.is-bear-mode .ksahm-mode-toolbar>[data-ksahm-search]{min-width:180px;flex:0 1 260px}
.ksahm-heat-controls select{min-width:130px}
@media(max-width:600px){.ksahm-wrap.is-bear-mode .ksahm-mode-toolbar>[data-ksahm-search]{min-width:0;flex:1 1 100%}}


/* v0.4.8 align checkbox controls with toolbar selects */
.ksahm-mode-toolbar .ksahm-check{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:42px;
  min-height:42px;
  padding:0 12px;
  box-sizing:border-box;
  line-height:1;
  white-space:nowrap;
}
.ksahm-mode-toolbar .ksahm-check input[type=checkbox]{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  padding:0!important;
  margin:0!important;
  flex:0 0 16px;
}


/* v0.4.9 tighten checkbox control padding */
.ksahm-mode-toolbar .ksahm-check{height:38px;min-height:38px;padding:0 9px;gap:7px;}

/* v0.5.0 hybrid live occupancy map */
.ksahm-live-castle{
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2px;
  overflow:hidden;
  text-align:center;
  text-decoration:none!important;
  color:#171717!important;
  border:1px solid rgba(0,0,0,.48);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.58);
  min-width:0;
}
.ksahm-live-castle.is-offslot{background:#f4d84f;border-color:#b39100}
.ksahm-live-castle.is-conflict{background:#e35d5d;border-color:#a71919;color:#fff!important}
.ksahm-live-name{font-size:8px;line-height:1.05;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ksahm-live-castle.is-filtered{opacity:.1}
.ksahm-live-castle.is-match{outline:3px solid #111;outline-offset:1px;z-index:9}
.ksahm-live-castle:hover{filter:brightness(.98)}
/* Normal Map is layout-focused: an exact numbered-slot occupant is green,
   regardless of its Bear Trap assignment. BT colors only belong to Beartrap. */
.ksahm-wrap:not(.is-bear-mode) .ksahm-slot.is-occupied{background:#5bd36a;color:#102515;border-color:rgba(0,0,0,.45)}
.ksahm-wrap:not(.is-bear-mode) .ksahm-slot.is-empty{background:#fff;color:#111;border-color:#7ea687}
.ksahm-wrap.is-bear-mode:not(.is-heat-mode) .ksahm-slot.bt1.is-occupied{background:#5bd36a}
.ksahm-wrap.is-bear-mode:not(.is-heat-mode) .ksahm-slot.bt2.is-occupied{background:#65b7ef}

/* v0.5.2 Map Improvements cleanup lists */
.ksahm-improvements{margin-top:12px;border-top:1px solid rgba(255,255,255,.12)}
.ksahm-improvements>summary{cursor:pointer;font-weight:800;padding:13px 18px;list-style-position:inside}
.ksahm-improvements-body{display:grid;gap:16px;padding:0 18px 14px}
.ksahm-improvement-group h4{margin:0 0 8px;font-size:.95rem}
.ksahm-improvement-group h4 span{opacity:.7;font-weight:600}


/* Control Center map-management workspace */
.ksahm-cc .ksep-setting-card{border:1px solid rgba(216,169,69,.24);background:rgba(8,14,21,.45);padding:20px;margin:0 0 18px}
.ksahm-cc .ksep-setting-card h3{margin:0 0 14px;color:#f0c86b}
.ksahm-cc-grid{display:grid;gap:14px}.ksahm-cc-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.ksahm-cc-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.ksahm-cc-grid.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.ksahm-cc label{display:grid;gap:6px;color:#9eb2c8;font-weight:700;font-size:13px}.ksahm-cc input,.ksahm-cc select,.ksahm-cc textarea{width:100%;box-sizing:border-box}.ksahm-cc-check{display:flex!important;align-items:center;gap:9px!important;padding-top:25px}.ksahm-cc-check input{width:auto}
.ksahm-cc-table-wrap{overflow:auto}.ksahm-cc-table{width:100%;border-collapse:collapse}.ksahm-cc-table th,.ksahm-cc-table td{padding:10px;border-bottom:1px solid rgba(216,169,69,.18);text-align:left}.ksahm-cc-table th{color:#dcae4c;font-size:12px;text-transform:uppercase}.ksahm-cc-table input,.ksahm-cc-table select{min-width:75px}
@media(max-width:900px){.ksahm-cc-grid.three,.ksahm-cc-grid.four,.ksahm-cc-grid.five{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.ksahm-cc-grid.three,.ksahm-cc-grid.four,.ksahm-cc-grid.five{grid-template-columns:1fr}}

/* v0.5.6 Control Center map workspace polish */
.ksahm-cc-tabs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;overflow:visible!important}
.ksahm-cc-tabs>a{min-width:0!important;text-align:center;white-space:nowrap}
.ksahm-cc .ksahm-num4{width:9ch!important;min-width:9ch!important;max-width:9ch!important}
.ksahm-cc .ksahm-small-select{width:6.5ch!important;min-width:6.5ch!important;max-width:6.5ch!important}
.ksahm-cc .ksahm-mines-input{width:10ch!important;min-width:10ch!important;max-width:10ch!important}
.ksahm-cc-table .ksahm-num4,.ksahm-cc-table .ksahm-small-select{min-width:0!important}
.ksahm-cc-map-preview .ksahm-wrap{margin-top:4px}
@media(max-width:850px){.ksahm-cc-tabs{overflow-x:auto!important;grid-template-columns:repeat(5,minmax(145px,1fr))}}


/* v0.5.7 Control Center form styling: match Alliance Settings */
.ksahm-cc input[type="text"],
.ksahm-cc input:not([type]),
.ksahm-cc input[type="number"],
.ksahm-cc select,
.ksahm-cc textarea{
  background:#0d2739;
  color:#f4f7fb;
  border:1px solid #31516a;
  border-radius:4px;
  padding:10px 12px;
  min-height:42px;
  box-shadow:none;
  font:inherit;
}
.ksahm-cc input[type="text"]:focus,
.ksahm-cc input:not([type]):focus,
.ksahm-cc input[type="number"]:focus,
.ksahm-cc select:focus,
.ksahm-cc textarea:focus{
  outline:none;
  border-color:#d6a83f;
  box-shadow:0 0 0 1px rgba(214,168,63,.25);
}
.ksahm-cc input:disabled,.ksahm-cc select:disabled,.ksahm-cc textarea:disabled{opacity:.72;cursor:not-allowed}
.ksahm-coordinate-grid{
  display:grid;
  grid-template-columns:repeat(4,max-content);
  gap:12px 22px;
  justify-content:start;
  align-items:end;
}
.ksahm-coordinate-grid label{min-width:0}
.ksahm-coordinate-grid .ksahm-num4{width:9ch!important;min-width:9ch!important;max-width:9ch!important}
.ksahm-cc .ksahm-mines-input{width:12ch!important;min-width:12ch!important;max-width:12ch!important;min-height:150px}
.ksahm-cc-table input[type="text"]{min-width:170px}
.ksahm-cc-table input[type="checkbox"]{min-width:0;width:auto;min-height:0;margin-right:6px}
.ksahm-cc-table .ksahm-num4{width:9ch!important;min-width:9ch!important;max-width:9ch!important}
.ksahm-cc-table .ksahm-small-select{width:7ch!important}
@media(max-width:760px){.ksahm-coordinate-grid{grid-template-columns:repeat(2,max-content)}}
@media(max-width:460px){.ksahm-coordinate-grid{grid-template-columns:1fr}.ksahm-coordinate-grid .ksahm-num4{width:100%!important;max-width:none!important}}

/* v0.5.9 control-center map polish */
.ksahm-cc .ksahm-bt-select{width:10ch!important;min-width:10ch!important;max-width:10ch!important}
.ksahm-cc .ksahm-row-select{width:8.5ch!important;min-width:8.5ch!important;max-width:8.5ch!important}
.ksahm-cc-map-preview .ksahm-toolbar select,
.ksahm-cc-map-preview .ksahm-toolbar input[type="search"],
.ksahm-cc-map-preview .ksahm-toolbar .ksahm-check{background:#fff!important;color:#111!important;border-color:#cfd5dd!important}
.ksahm-cc-map-preview .ksahm-toolbar input[type="search"]::placeholder{color:#7d8793!important}
.ksahm-cc-map-preview .ksahm-toolbar .ksahm-check input{accent-color:auto}

/* v0.6.0 location freshness */
.ksahm-location-freshness{margin-top:8px;text-align:right;color:var(--ks-muted,#a9b2bd);font-size:.72rem;line-height:1.25;opacity:.78}
.ksahm-location-freshness a{color:inherit;text-decoration:none;cursor:pointer}.ksahm-location-freshness a:hover,.ksahm-location-freshness a:focus{text-decoration:none;color:inherit}.ksahm-location-freshness a.is-working{cursor:wait}

/* R4/R5 hidden single-castle location refresh: subtle 3-second hold feedback. */
[data-ksahm-long-refresh].is-long-pressing{outline:2px solid currentColor;outline-offset:-3px;filter:brightness(1.08)}
[data-ksahm-long-refresh].is-location-refreshing{opacity:.58;cursor:wait}
