.sanctuary-management-force-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px;min-width:0}
.sanctuary-management-force-card{appearance:none;width:100%;min-width:0;margin:0;padding:13px;border:1px solid #dbe3f0;border-radius:15px;background:#f8faff;color:#26344d;text-align:left;font:inherit;overflow:hidden}
.sanctuary-management-force-card.is-supportable{cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}
.sanctuary-management-force-card.is-supportable:hover,.sanctuary-management-force-card.is-supportable:focus-visible{border-color:#546ff2;background:#fff;box-shadow:0 11px 28px rgba(47,73,157,.14);transform:translateY(-1px);outline:0}
.sanctuary-management-force-card.is-unavailable{background:#f7f8fb;color:#68758a}.sanctuary-management-force-card.is-assigned{border-color:#78c4a3;background:#f1fbf6}.sanctuary-management-force-card.is-pending{border-color:#e0b967;background:#fff9eb}
.sanctuary-management-force-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sanctuary-management-force-card-head strong{font-size:14px}.sanctuary-management-force-card-head em{font-size:11px;font-style:normal;font-weight:800;color:#66738b}
.sanctuary-management-force-parties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.sanctuary-management-force-party{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;min-width:0}.sanctuary-management-force-party>small{grid-column:1/-1;color:#78869c;font-size:9px;font-weight:800}
.sanctuary-management-force-slot{display:block;min-width:0;padding:5px 2px;border-radius:6px;background:#e8edf6;color:#7b8799;font-size:8px;font-weight:800;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sanctuary-management-force-slot.is-occupied{background:#e1e8ff;color:#344fba}
.sanctuary-management-force-card-state{display:block;margin-top:9px;color:#61708a;font-size:10px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sanctuary-management-team-badge.is-pending{background:#fff1c9;color:#875a00}
.sanctuary-management-placeholder.has-calendar{display:block;min-height:0;padding:0;border:0;background:transparent;color:inherit;overflow:hidden}
.sanctuary-management-calendar-controls{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:6px}.sanctuary-management-calendar-controls button{height:32px;border:1px solid #d8e0ec;border-radius:9px;background:#fff;color:#405171;font-size:18px;cursor:pointer}.sanctuary-management-calendar-controls strong{text-align:center;font-size:13px}
.sanctuary-management-calendar-scroll{position:relative;max-height:330px;margin-top:10px;padding-right:2px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.sanctuary-management-calendar-scroll::-webkit-scrollbar{width:0;height:0}
.sanctuary-management-calendar-week{padding:10px 0;border-top:1px solid #edf0f5}.sanctuary-management-calendar-week>strong{display:block;color:#56657c;font-size:10px}.sanctuary-management-calendar-week ul{display:grid;gap:5px;margin:7px 0 0;padding:0;list-style:none}.sanctuary-management-calendar-week li{display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px;align-items:center;font-size:10px}.sanctuary-management-calendar-week time{color:#5a6ed0;font-weight:800}.sanctuary-management-calendar-week span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sanctuary-management-calendar-week p{margin:5px 0 0;color:#9aa4b4;font-size:10px}
body.sanctuary-management-support-open{overflow:hidden}
.sanctuary-management-support-layer[hidden]{display:none!important}.sanctuary-management-support-layer{position:fixed;inset:0;z-index:10080;display:grid;place-items:center;padding:24px;overflow:hidden}
.sanctuary-management-support-backdrop{position:absolute;inset:0;background:rgba(12,19,35,.66);backdrop-filter:blur(7px)}
.sanctuary-management-support-dialog{position:relative;width:min(900px,calc(100vw - 48px));height:min(760px,calc(100dvh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid rgba(255,255,255,.64);border-radius:24px;background:#f8faff;box-shadow:0 30px 80px rgba(10,22,50,.34);overflow:hidden;color:#21304a}
.sanctuary-management-support-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 18px;border-bottom:1px solid #e0e6f0;background:#fff}.sanctuary-management-support-dialog>header span{color:#5571df;font-size:9px;font-weight:900;letter-spacing:.13em}.sanctuary-management-support-dialog>header h2{margin:4px 0 3px;font-size:22px}.sanctuary-management-support-dialog>header p{margin:0;color:#748197;font-size:11px;font-weight:700}.sanctuary-management-support-dialog>header button{width:36px;height:36px;border:1px solid #dfe5ef;border-radius:11px;background:#fff;color:#5d6b80;font-size:22px;cursor:pointer}
.sanctuary-management-support-scroll{min-width:0;overflow-y:auto;overflow-x:hidden;padding:20px 24px 42px;scrollbar-width:none}.sanctuary-management-support-scroll::-webkit-scrollbar{width:0;height:0}.sanctuary-management-support-dialog::after{content:"";position:absolute;right:0;bottom:74px;left:0;height:46px;background:linear-gradient(transparent,#f8faff);opacity:0;pointer-events:none;transition:opacity .16s ease}.sanctuary-management-support-dialog.has-more::after{opacity:1}
.sanctuary-management-support-forces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sanctuary-management-support-forces button{min-width:0;padding:11px;border:1px solid #dce4f0;border-radius:12px;background:#fff;color:#46546b;text-align:left;cursor:pointer}.sanctuary-management-support-forces button:hover,.sanctuary-management-support-forces button:focus-visible{border-color:#667bf1;outline:0}.sanctuary-management-support-forces button.is-active{border-color:#5069e7;background:#edf1ff;box-shadow:0 0 0 2px rgba(80,105,231,.11)}.sanctuary-management-support-forces button.is-selected{background:#eefaf5;border-color:#68b997}.sanctuary-management-support-forces strong,.sanctuary-management-support-forces small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sanctuary-management-support-forces strong{font-size:12px}.sanctuary-management-support-forces small{margin-top:3px;color:#7b8799;font-size:9px}
.sanctuary-management-support-characters,.sanctuary-management-support-batches{margin-top:20px}.sanctuary-management-support-characters>header,.sanctuary-management-support-batches>header{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:10px}.sanctuary-management-support-characters>header>span{min-width:0;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.sanctuary-management-support-characters>header strong,.sanctuary-management-support-batches>header strong{font-size:14px}.sanctuary-management-support-characters>header small,.sanctuary-management-support-batches>header small{color:#7a879a;font-size:10px}.sanctuary-management-support-inline{font-size:10px;font-weight:900;color:#4c62c8}.sanctuary-management-support-inline.is-error{color:#b33f49}.sanctuary-management-support-inline.is-success{color:#197552}.sanctuary-management-support-characters>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.sanctuary-management-support-character{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;align-items:center;min-width:0;min-height:58px;padding:8px 9px;border:1px solid #dce4f0;border-radius:11px;background:#fff;color:#344158;text-align:left;font:inherit;cursor:pointer}.sanctuary-management-support-character:hover,.sanctuary-management-support-character:focus-visible{border-color:#5f77e9;outline:0}.sanctuary-management-support-character.is-selected{border-color:#4d69eb;background:#eef2ff;box-shadow:0 0 0 2px rgba(77,105,235,.1)}.sanctuary-management-support-character.is-disabled{opacity:.52;cursor:not-allowed}.sanctuary-management-support-character.is-random{border-style:dashed}.sanctuary-management-support-avatar{width:32px;height:32px;display:grid;place-items:center;overflow:hidden;border-radius:9px;background:linear-gradient(135deg,#315fe8,#7150eb);color:#fff;font-size:11px;font-weight:900}.sanctuary-management-support-avatar img{display:block;width:100%;height:100%;object-fit:cover}.sanctuary-management-support-character>span:last-child{min-width:0}.sanctuary-management-support-character em,.sanctuary-management-support-character strong,.sanctuary-management-support-character small{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sanctuary-management-support-character em{color:#5872d9;font-size:7px;font-style:normal;font-weight:900}.sanctuary-management-support-character strong{margin-top:1px;font-size:11px}.sanctuary-management-support-character small{margin-top:1px;color:#7c899c;font-size:8px}
.sanctuary-management-support-empty{grid-column:1/-1;padding:20px;border:1px dashed #ccd5e4;border-radius:13px;text-align:center}.sanctuary-management-support-empty strong{font-size:12px}.sanctuary-management-support-empty p{margin:5px 0 0;color:#7d899b;font-size:10px}
.sanctuary-management-support-result{margin-top:18px;padding:13px;border:1px solid #bcd8ca;border-radius:13px;background:#f1faf5}.sanctuary-management-support-result>strong{font-size:12px}.sanctuary-management-support-result ul,.sanctuary-management-support-batch ul{display:grid;gap:5px;margin:9px 0 0;padding:0;list-style:none}.sanctuary-management-support-result li,.sanctuary-management-support-batch li{display:grid;grid-template-columns:minmax(110px,.5fr) minmax(0,1fr);gap:8px;font-size:9px}.sanctuary-management-support-result li small,.sanctuary-management-support-batch li small{min-width:0;color:#6e7b8e}.sanctuary-management-support-result li.is-rejected,.sanctuary-management-support-batch li.is-rejected{color:#ad3e45}
.sanctuary-management-support-batch{padding:12px;border:1px solid #dfe5ee;border-radius:13px;background:#fff}.sanctuary-management-support-batch+.sanctuary-management-support-batch{margin-top:8px}.sanctuary-management-support-batch>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.sanctuary-management-support-batch>header strong,.sanctuary-management-support-batch>header small{display:block}.sanctuary-management-support-batch>header strong{font-size:11px}.sanctuary-management-support-batch>header small{color:#7d8899;font-size:9px}.sanctuary-management-support-batch>header div:last-child{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.sanctuary-management-support-batch button{padding:6px 9px;border:0;border-radius:8px;background:#5068db;color:#fff;font-size:9px;font-weight:800;cursor:pointer}.sanctuary-management-support-batch button.is-danger{background:#b84b54}.sanctuary-management-support-batch button.is-secondary{background:#66758a}
.sanctuary-management-support-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid #dfe5ef;background:#fff}.sanctuary-management-support-status{min-width:0;margin:0;color:#65738a;font-size:10px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sanctuary-management-support-status.is-error{color:#b33f49}.sanctuary-management-support-status.is-success{color:#197552}.sanctuary-management-support-status.is-progress{color:#3d5cc3}.sanctuary-management-support-dialog>footer>div{display:flex;gap:7px;flex:0 0 auto}.sanctuary-management-support-dialog>footer button{height:36px;padding:0 14px;border:1px solid #d8e0ec;border-radius:10px;background:#fff;color:#4e5c71;font-size:10px;font-weight:850;cursor:pointer}.sanctuary-management-support-dialog>footer button.is-primary{border-color:#5068dc;background:#5068dc;color:#fff}.sanctuary-management-support-dialog>footer button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){
  .sanctuary-management-force-grid{grid-template-columns:1fr}.sanctuary-management-force-parties{gap:5px}
  .sanctuary-management-support-layer{padding:0;align-items:stretch}.sanctuary-management-support-dialog{width:100%;height:100dvh;border:0;border-radius:0}.sanctuary-management-support-dialog>header{padding:18px 16px 14px}.sanctuary-management-support-dialog>header h2{font-size:19px}.sanctuary-management-support-scroll{padding:15px 14px 44px}.sanctuary-management-support-forces{grid-template-columns:repeat(2,minmax(0,1fr))}.sanctuary-management-support-characters>header,.sanctuary-management-support-batches>header{display:block}.sanctuary-management-support-characters>header small,.sanctuary-management-support-batches>header small{display:block;margin-top:4px}.sanctuary-management-support-characters>div{grid-template-columns:repeat(2,minmax(0,1fr))}.sanctuary-management-support-dialog>footer{display:grid;padding:11px 12px calc(11px + env(safe-area-inset-bottom))}.sanctuary-management-support-dialog>footer>div{display:grid;grid-template-columns:1fr auto}.sanctuary-management-support-dialog>footer button.is-primary{min-width:160px}.sanctuary-management-support-dialog::after{bottom:95px}
}
@media(max-width:470px){.sanctuary-management-support-characters>div{grid-template-columns:1fr}}
@media(max-width:370px){.sanctuary-management-support-forces{grid-template-columns:1fr}.sanctuary-management-support-dialog>footer>div{grid-template-columns:1fr}.sanctuary-management-support-dialog>footer button.is-primary{min-width:0}.sanctuary-management-force-party{gap:2px}}
@media(prefers-reduced-motion:reduce){.sanctuary-management-force-card.is-supportable{transition:none}}

/* Operating cards mirror the legacy team > force > two parties > five slots
   hierarchy while using the new Server roster data. */
.sanctuary-management-force-carousel{position:relative;min-width:0;margin-top:15px;padding-inline:21px}.sanctuary-management-force-grid{display:flex;gap:12px;margin:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none}.sanctuary-management-force-grid::-webkit-scrollbar{width:0;height:0}.sanctuary-management-force-grid>.sanctuary-management-force-card{flex:0 0 calc((100% - 12px)/2);scroll-snap-align:start;scroll-snap-stop:always}.sanctuary-management-force-arrow{position:absolute;z-index:4;top:50%;width:18px;height:54px;padding:0;display:none;place-items:center;border:0;background:transparent;color:#243653;font-size:28px;line-height:1;opacity:.3;transform:translateY(-50%);cursor:pointer;transition:opacity .18s ease,color .18s ease}.sanctuary-management-force-carousel.has-pages .sanctuary-management-force-arrow{display:grid}.sanctuary-management-force-arrow.is-previous{left:0}.sanctuary-management-force-arrow.is-next{right:0}.sanctuary-management-force-arrow:hover,.sanctuary-management-force-arrow:focus-visible{color:#4c5fd0;opacity:.7;outline:0}.sanctuary-management-force-arrow:disabled{opacity:.08;cursor:default}
.sanctuary-management-force-card{padding:14px;background:linear-gradient(180deg,#fff,#f6f8fd)}.sanctuary-management-force-card-head{padding-bottom:10px;border-bottom:1px solid #e2e7f0}.sanctuary-management-force-parties{align-items:start;gap:9px}.sanctuary-management-force-party{min-width:0;padding:8px;display:grid;grid-template-columns:minmax(0,1fr);gap:5px;border:1px solid #e1e7f1;border-radius:11px;background:#fff}.sanctuary-management-force-party-head{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:0 2px 3px}.sanctuary-management-force-party-head strong{color:#44536c;font-size:10px}.sanctuary-management-force-party-head small{color:#8290a4;font-size:8px;font-weight:850}.sanctuary-management-force-slot{min-height:34px;padding:5px;display:grid;grid-template-columns:15px 24px 5em minmax(0,1fr);align-items:center;gap:5px;border:1px solid transparent;border-radius:8px;background:#f1f4f9;text-align:left}.sanctuary-management-force-slot.is-occupied{border-color:#d6def5}.sanctuary-management-force-slot.is-main{background:linear-gradient(135deg,#e5ecff,#eef0ff)}.sanctuary-management-force-slot.is-alt{border-color:#dfe4ed;background:linear-gradient(135deg,#f4f6fa,#eef1f6)}.sanctuary-management-force-slot.is-guest{border-color:#e2e5ec;background:linear-gradient(135deg,#fafbfc,#f1f3f7)}.sanctuary-management-force-slot.is-viewer-character{border-color:#675ce7;box-shadow:inset 0 0 0 1px rgba(103,92,231,.32),0 0 0 1px rgba(103,92,231,.12)}.sanctuary-management-force-slot>em{color:#7b889b;font-size:8px;font-style:normal;font-weight:950;text-align:center}.sanctuary-management-force-slot-icon{width:24px;height:24px;display:grid;place-items:center;overflow:hidden;border-radius:7px;background:#e3e9f3;color:#738198;font-size:8px;font-weight:950}.sanctuary-management-force-slot-icon img{display:block;width:100%;height:100%;object-fit:cover}.sanctuary-management-force-slot.is-occupied .sanctuary-management-force-slot-icon{background:linear-gradient(135deg,#315fe8,#7150eb);color:#fff}.sanctuary-management-force-slot-copy{min-width:0;display:contents}.sanctuary-management-force-slot-name,.sanctuary-management-force-slot-server{min-width:0;overflow:hidden;white-space:nowrap;font-size:8px;line-height:1.2}.sanctuary-management-force-slot-name{width:5em;color:#34435d;font-weight:850}.sanctuary-management-force-slot-name>span{display:inline-block;width:1em;text-align:center}.sanctuary-management-force-slot-name>span.is-faded{opacity:.28}.sanctuary-management-force-slot-server{color:#7082a3;font-weight:800;text-overflow:ellipsis}.sanctuary-management-force-card-state{padding-top:8px;border-top:1px solid #e5e9f1}
@media(max-width:760px){.sanctuary-management-force-carousel{padding-inline:0}.sanctuary-management-force-grid>.sanctuary-management-force-card{flex-basis:100%}.sanctuary-management-force-carousel .sanctuary-management-force-arrow{display:none!important}}
@media(max-width:430px){.sanctuary-management-force-parties{grid-template-columns:1fr}.sanctuary-management-force-party{padding:7px}.sanctuary-management-force-slot{min-height:32px}}

/* Stage 7-7: one enlarged force is projected at the center. The overview uses
   the same roster cards so support, ownership colour and clipboard semantics
   cannot drift between the compact team view and the all-force dialog. */
.sanctuary-management-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sanctuary-management-force-carousel{margin-top:15px;padding:0}
.sanctuary-management-force-carousel-head{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-bottom:10px}
.sanctuary-management-force-position{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:32px;padding:0 10px;border:1px solid #dce4f0;border-radius:999px;background:#f7f9fd;color:#5f6f88;font-size:10px;font-weight:950;letter-spacing:.02em}
.sanctuary-management-force-overview-button{min-height:32px!important;padding:7px 11px!important;font-size:9px!important}
.sanctuary-management-force-viewport{position:relative;min-width:0;padding-inline:38px;perspective:1300px;overflow:hidden}
.sanctuary-management-force-grid{display:grid;grid-template-columns:minmax(0,1fr);margin:0;overflow:hidden;scroll-snap-type:none;scroll-behavior:auto;touch-action:pan-y;perspective:1300px}
.sanctuary-management-force-grid>.sanctuary-management-force-card{grid-area:1/1;width:min(700px,100%);justify-self:center;align-self:start;visibility:hidden;opacity:0;pointer-events:none;transform-origin:50% 42%;will-change:transform,opacity,filter}
.sanctuary-management-force-grid>.sanctuary-management-force-card.is-active{visibility:visible;opacity:1;pointer-events:auto}
.sanctuary-management-force-grid>.sanctuary-management-force-card.is-leaving-forward,.sanctuary-management-force-grid>.sanctuary-management-force-card.is-leaving-backward,.sanctuary-management-force-grid>.sanctuary-management-force-card.is-entering-forward,.sanctuary-management-force-grid>.sanctuary-management-force-card.is-entering-backward{visibility:visible;pointer-events:none}
.sanctuary-management-force-grid>.sanctuary-management-force-card.is-leaving-forward{animation:sanctuary-force-leave-forward .46s cubic-bezier(.32,.02,.2,1) both}.sanctuary-management-force-grid>.sanctuary-management-force-card.is-entering-forward{animation:sanctuary-force-enter-forward .46s cubic-bezier(.22,.75,.2,1) both}.sanctuary-management-force-grid>.sanctuary-management-force-card.is-leaving-backward{animation:sanctuary-force-leave-backward .46s cubic-bezier(.32,.02,.2,1) both}.sanctuary-management-force-grid>.sanctuary-management-force-card.is-entering-backward{animation:sanctuary-force-enter-backward .46s cubic-bezier(.22,.75,.2,1) both}
@keyframes sanctuary-force-leave-forward{0%{opacity:1;transform:translate3d(0,0,0) rotateY(0) rotateZ(0) scale(1);filter:brightness(1)}100%{opacity:0;transform:translate3d(-16%,2px,-40px) rotateY(9deg) rotateZ(-1.3deg) scale(.955);filter:brightness(.94)}}
@keyframes sanctuary-force-enter-forward{0%{opacity:0;transform:translate3d(16%,2px,-40px) rotateY(-9deg) rotateZ(1.3deg) scale(.955);filter:brightness(.94)}100%{opacity:1;transform:translate3d(0,0,0) rotateY(0) rotateZ(0) scale(1);filter:brightness(1)}}
@keyframes sanctuary-force-leave-backward{0%{opacity:1;transform:translate3d(0,0,0) rotateY(0) rotateZ(0) scale(1);filter:brightness(1)}100%{opacity:0;transform:translate3d(16%,2px,-40px) rotateY(-9deg) rotateZ(1.3deg) scale(.955);filter:brightness(.94)}}
@keyframes sanctuary-force-enter-backward{0%{opacity:0;transform:translate3d(-16%,2px,-40px) rotateY(9deg) rotateZ(-1.3deg) scale(.955);filter:brightness(.94)}100%{opacity:1;transform:translate3d(0,0,0) rotateY(0) rotateZ(0) scale(1);filter:brightness(1)}}
.sanctuary-management-force-arrow{top:50%;width:32px;height:78px;display:none;border:1px solid rgba(122,140,174,.16);border-radius:14px;background:rgba(255,255,255,.72);box-shadow:0 7px 24px rgba(34,51,91,.08);font-size:31px;opacity:.34;backdrop-filter:blur(5px)}.sanctuary-management-force-carousel.has-pages .sanctuary-management-force-arrow{display:grid}.sanctuary-management-force-arrow.is-previous{left:1px}.sanctuary-management-force-arrow.is-next{right:1px}.sanctuary-management-force-arrow:hover,.sanctuary-management-force-arrow:focus-visible{opacity:.82}.sanctuary-management-force-arrow:disabled{opacity:.09}
.sanctuary-management-force-card{padding:18px;border-radius:18px;box-shadow:0 14px 36px rgba(35,55,103,.08)}.sanctuary-management-force-card-head{padding-bottom:13px}.sanctuary-management-force-card-head strong{font-size:17px}.sanctuary-management-force-card-head em{font-size:13px}.sanctuary-management-force-parties{gap:12px;margin-top:13px}.sanctuary-management-force-party{padding:11px;gap:7px;border-radius:14px}.sanctuary-management-force-party-head{padding:0 2px 4px}.sanctuary-management-force-party-head strong{font-size:12px}.sanctuary-management-force-party-head small{font-size:10px}.sanctuary-management-force-slot{min-height:48px;padding:6px 8px;grid-template-columns:21px 34px 5em minmax(0,1fr);gap:7px;border-radius:10px}.sanctuary-management-force-slot>em{font-size:11px}.sanctuary-management-force-slot-icon{width:34px;height:34px;border-radius:9px;font-size:11px}.sanctuary-management-force-slot-name,.sanctuary-management-force-slot-server{font-size:11px}.sanctuary-management-force-slot-server{font-size:10px}.sanctuary-management-force-card-state{margin-top:12px;padding-top:11px;font-size:12px}

body.sanctuary-management-force-overview-open{overflow:hidden}
.sanctuary-management-force-overview-layer[hidden]{display:none!important}.sanctuary-management-force-overview-layer{position:fixed;inset:0;z-index:10075;display:grid;place-items:center;padding:20px;overflow:hidden}
.sanctuary-management-force-overview-backdrop{position:absolute;inset:0;background:rgba(10,19,38,.7);backdrop-filter:blur(8px)}
.sanctuary-management-force-overview-dialog{position:relative;width:min(1420px,calc(100vw - 40px));height:min(900px,calc(100dvh - 40px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.62);border-radius:24px;background:#f6f8fd;color:#21304a;box-shadow:0 34px 90px rgba(7,18,43,.4)}.sanctuary-management-force-overview-dialog:focus{outline:0}
.sanctuary-management-force-overview-dialog>header{min-width:0;padding:21px 24px 17px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #dfe5ef;background:#fff}.sanctuary-management-force-overview-dialog>header>div{min-width:0}.sanctuary-management-force-overview-dialog>header span{color:#5571df;font-size:9px;font-weight:950;letter-spacing:.13em}.sanctuary-management-force-overview-dialog>header h2{margin:4px 0 3px;overflow:hidden;color:#21304a;font-size:23px;text-overflow:ellipsis;white-space:nowrap}.sanctuary-management-force-overview-dialog>header p{margin:0;overflow:hidden;color:#748197;font-size:11px;font-weight:730;text-overflow:ellipsis;white-space:nowrap}.sanctuary-management-force-overview-dialog>header button{width:37px;height:37px;flex:0 0 auto;border:1px solid #dfe5ef;border-radius:11px;background:#fff;color:#5d6b80;font-size:23px;cursor:pointer}
.sanctuary-management-force-overview-scroll{position:relative;min-width:0;padding:20px 24px 48px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 30px),transparent 100%)}.sanctuary-management-force-overview-scroll::-webkit-scrollbar{width:0;height:0}
.sanctuary-management-force-overview-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.sanctuary-management-force-overview-grid>.sanctuary-management-force-card{visibility:visible;opacity:1;pointer-events:auto;width:100%;box-sizing:border-box}
.sanctuary-management-force-overview-dialog>footer{min-width:0;padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #dfe5ef;background:#fff}.sanctuary-management-force-overview-dialog>footer p{min-width:0;margin:0;overflow:hidden;color:#65738a;font-size:10px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.sanctuary-management-force-overview-dialog>footer>div{display:flex;flex:0 0 auto;gap:7px}

@media(max-width:980px){.sanctuary-management-force-overview-grid{grid-template-columns:1fr}.sanctuary-management-force-overview-grid>.sanctuary-management-force-card{width:min(700px,100%);justify-self:center}}
@media(max-width:760px){
  .sanctuary-management-force-carousel{padding:0}.sanctuary-management-force-viewport{padding-inline:0}.sanctuary-management-force-carousel .sanctuary-management-force-arrow,.sanctuary-management-force-carousel.has-pages .sanctuary-management-force-arrow{display:none!important}.sanctuary-management-force-grid>.sanctuary-management-force-card{width:100%}
  .sanctuary-management-force-overview-layer{padding:0;align-items:stretch}.sanctuary-management-force-overview-dialog{width:100%;height:100dvh;border:0;border-radius:0}.sanctuary-management-force-overview-dialog>header{padding:17px 15px 14px}.sanctuary-management-force-overview-dialog>header h2{font-size:19px}.sanctuary-management-force-overview-scroll{padding:15px 14px 44px}.sanctuary-management-force-overview-dialog>footer{padding:11px 12px calc(11px + env(safe-area-inset-bottom));display:grid}.sanctuary-management-force-overview-dialog>footer p{white-space:normal}.sanctuary-management-force-overview-dialog>footer>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.sanctuary-management-force-overview-dialog>footer .kinojo-btn{min-width:0;padding-inline:8px}
}
@media(max-width:560px){.sanctuary-management-force-carousel-head{justify-content:space-between}.sanctuary-management-force-parties{grid-template-columns:1fr}.sanctuary-management-force-card{padding:13px}.sanctuary-management-force-party{padding:8px}.sanctuary-management-force-slot{min-height:44px;padding:5px 6px;grid-template-columns:18px 32px 5em minmax(0,1fr);gap:6px}.sanctuary-management-force-slot-icon{width:32px;height:32px}.sanctuary-management-force-slot-name{font-size:10px}.sanctuary-management-force-slot-server{font-size:9px}}
@media(max-width:380px){.sanctuary-management-force-overview-dialog>footer>div{grid-template-columns:1fr}.sanctuary-management-force-overview-dialog>footer .kinojo-btn{width:100%}.sanctuary-management-force-slot{grid-template-columns:16px 30px 5em minmax(0,1fr)}.sanctuary-management-force-slot-icon{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.sanctuary-management-force-grid>.sanctuary-management-force-card{animation:none!important;transition:none!important}}

/* Canonical Sanctuary visual policy: class artwork has no coloured tile behind
   it, force cards are transparent until hover/focus, and all selection rings
   stay inside clipped panels so their rounded corners remain visible. */
.sanctuary-management-force-card,
.sanctuary-management-force-card.is-unavailable,
.sanctuary-management-force-card.is-assigned,
.sanctuary-management-force-card.is-pending{background:transparent}
.sanctuary-management-force-card:hover,
.sanctuary-management-force-card:focus-within,
.sanctuary-management-force-card.is-supportable:hover,
.sanctuary-management-force-card.is-supportable:focus-visible{background:#eefaf4}
.sanctuary-management-support-forces button,
.sanctuary-management-support-forces button.is-active,
.sanctuary-management-support-forces button.is-selected{background:transparent}
.sanctuary-management-support-forces button:hover,
.sanctuary-management-support-forces button:focus-visible{background:#eefaf4}

:is(.sanctuary-management-force-slot-icon,.sanctuary-management-support-avatar,.sanctuary-management-candidate-avatar,.sanctuary-management-search-result-avatar):has(>img){border-radius:0;background:transparent!important;color:inherit}
:is(.sanctuary-management-force-slot-icon,.sanctuary-management-support-avatar,.sanctuary-management-candidate-avatar,.sanctuary-management-search-result-avatar):has(>img)>img{object-fit:contain}

.sanctuary-management-team-card.is-deep-linked,
.sanctuary-management-side>section.is-deep-linked{box-shadow:inset 0 0 0 3px rgba(76,104,224,.22),0 18px 36px rgba(31,48,84,.13)}
.sanctuary-management-support-forces button.is-active,
.sanctuary-management-support-character.is-selected{box-shadow:inset 0 0 0 2px rgba(77,105,235,.18)}
.sanctuary-management-force-slot.is-viewer-character{box-shadow:inset 0 0 0 2px rgba(103,92,231,.32)}
.sanctuary-management-draft-slot.is-move-source,
.sanctuary-management-draft-slot.is-dragging{box-shadow:inset 0 0 0 2px rgba(114,80,235,.2)}

.sanctuary-management-scope button:focus-visible,
.sanctuary-management-calendar-day button:focus-visible,
.sanctuary-management-operation-options input:focus-visible+span,
.sanctuary-management-operation-weekdays input:focus-visible+span,
.sanctuary-management-transition-confirm-list input:focus-visible+span,
.sanctuary-management-draft-layer :is(button,input,select,[tabindex]):focus-visible{outline:0;box-shadow:inset 0 0 0 3px rgba(37,99,235,.42)}

/* Stage 8 part 1: combat power remains readable below the character identity.
   Composition rules are warnings, not a publish gate. */
.sanctuary-management-force-title-row{flex-wrap:wrap}.sanctuary-management-force-average{flex:1 1 100%;color:#718098;font-size:10px;font-weight:850;line-height:1.35}
.sanctuary-management-force-slot{grid-template-columns:21px 34px minmax(0,1fr)}
.sanctuary-management-force-slot-copy{min-width:0;display:grid;grid-template-columns:5em minmax(0,1fr);grid-template-areas:"name server" "power power";align-items:center;column-gap:7px;row-gap:2px}
.sanctuary-management-force-slot-name{grid-area:name}.sanctuary-management-force-slot-server{grid-area:server}.sanctuary-management-force-slot-power{grid-area:power;min-width:0;overflow:hidden;color:#556b93;font-size:10px;font-weight:900;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.sanctuary-management-force-card.has-unmet-requirements{border-color:#e15f68;background:linear-gradient(180deg,#fff,#fff5f5)}
.sanctuary-management-force-party.has-unmet-requirements{border-color:#efa0a5;background:#fff8f8}
.sanctuary-management-requirement-warning{display:block;margin-top:10px;padding:7px 9px;border:1px solid #efb3b7;border-radius:9px;background:#fff0f1;color:#b3323b;font-size:10px;font-weight:950}
@media(max-width:560px){.sanctuary-management-force-slot{grid-template-columns:18px 32px minmax(0,1fr)}.sanctuary-management-force-slot-power{font-size:9px}.sanctuary-management-force-average{font-size:9px}}
@media(max-width:380px){.sanctuary-management-force-slot{grid-template-columns:16px 30px minmax(0,1fr)}.sanctuary-management-force-slot-copy{grid-template-columns:4.8em minmax(0,1fr);column-gap:5px}}

/* Stage 9: slot numbers become a quiet centered background layer, leaving the
   class icon as the first foreground item. Power always uses the official icon. */
.sanctuary-management-force-slot{position:relative;isolation:isolate;grid-template-columns:34px minmax(0,1fr);overflow:hidden}
.sanctuary-management-force-slot::before{content:attr(data-slot-number);position:absolute;z-index:0;inset:50% auto auto 50%;color:#5f7399;font-size:31px;font-weight:950;line-height:1;opacity:.075;transform:translate(-50%,-50%);pointer-events:none}
.sanctuary-management-force-slot-icon,.sanctuary-management-force-slot-copy{position:relative;z-index:1}.sanctuary-management-force-slot.is-class-slot .sanctuary-management-force-slot-icon{opacity:.7}
.sanctuary-management-force-slot-copy{grid-template-columns:minmax(6em,7em) minmax(0,1fr)}.sanctuary-management-force-slot-name{width:auto;max-width:7em}.sanctuary-management-force-slot-server{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sanctuary-management-power-value{display:inline-flex;align-items:center;gap:4px;min-width:0;vertical-align:middle}.sanctuary-management-power-value img{width:13px;height:13px;flex:0 0 auto;object-fit:contain}.sanctuary-management-power-value b{font:inherit;font-weight:950;white-space:nowrap}.sanctuary-management-force-average{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.sanctuary-management-team-badge.is-difficulty{border:1px solid transparent}.sanctuary-management-team-badge.is-difficulty.is-easy{border-color:#add2f1;background:#eef7ff;color:#24689d}.sanctuary-management-team-badge.is-difficulty.is-normal{border-color:#a8dfc2;background:#eefaf4;color:#18754d}.sanctuary-management-team-badge.is-difficulty.is-hard{border-color:#efb0b5;background:#fff0f1;color:#ad303a}
@media(max-width:560px){.sanctuary-management-force-slot{grid-template-columns:32px minmax(0,1fr)}.sanctuary-management-force-slot-copy{grid-template-columns:minmax(5.7em,6.6em) minmax(0,1fr)}}
@media(max-width:380px){.sanctuary-management-force-slot{grid-template-columns:30px minmax(0,1fr)}.sanctuary-management-force-slot-copy{grid-template-columns:minmax(5.4em,6.2em) minmax(0,1fr)}}

/* Stage 10 part 2: two full-size force cards per desktop page. An odd final
   page overlaps the preceding force (3·4 -> 4·5), while compact layouts expose
   one swipeable force at a time. */
.sanctuary-management-force-title-row{column-gap:7px}.sanctuary-management-force-difficulty{flex:0 0 auto;padding:4px 7px;border:1px solid transparent;border-radius:8px;font-size:9px;font-weight:1000;line-height:1.1}.sanctuary-management-force-difficulty.is-easy{border-color:#add2f1;background:#eef7ff;color:#24689d}.sanctuary-management-force-difficulty.is-normal{border-color:#a8dfc2;background:#eefaf4;color:#18754d}.sanctuary-management-force-difficulty.is-hard{border-color:#efb0b5;background:#fff0f1;color:#ad303a}
.sanctuary-management-force-carousel{margin-top:8px}.sanctuary-management-force-viewport{padding:3px 42px 9px;overflow:visible}.sanctuary-management-force-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;overflow:visible;touch-action:pan-y;perspective:1300px}.sanctuary-management-force-grid>.sanctuary-management-force-card{display:none;grid-area:auto;width:100%;min-width:0;justify-self:stretch;visibility:hidden;opacity:0;pointer-events:none;will-change:transform,opacity,filter}.sanctuary-management-force-grid>.sanctuary-management-force-card.is-active{display:block;visibility:visible;opacity:1;pointer-events:auto}.sanctuary-management-force-grid>.sanctuary-management-force-card.is-page-entering-forward{animation:sanctuary-force-page-forward .46s cubic-bezier(.22,.75,.2,1) both}.sanctuary-management-force-grid>.sanctuary-management-force-card.is-page-entering-backward{animation:sanctuary-force-page-backward .46s cubic-bezier(.22,.75,.2,1) both}
.sanctuary-management-force-boss-visual{position:relative;z-index:0;min-width:0;min-height:100%;display:grid;place-items:center;overflow:visible;border-radius:0;background:transparent;pointer-events:none}.sanctuary-management-force-boss-visual img{position:absolute;inset:0 -61px -27px 0;display:block;width:calc(100% + 61px);height:calc(100% + 27px);max-width:none;max-height:none;border-radius:0 0 15px 0;object-fit:cover;object-position:50% 42%;filter:drop-shadow(0 22px 28px rgba(26,39,78,.14));opacity:.5}
@keyframes sanctuary-force-page-forward{0%{opacity:.12;filter:blur(3px);transform:perspective(1100px) rotateY(9deg) translateX(22px) scale(.975)}100%{opacity:1;filter:blur(0);transform:none}}@keyframes sanctuary-force-page-backward{0%{opacity:.12;filter:blur(3px);transform:perspective(1100px) rotateY(-9deg) translateX(-22px) scale(.975)}100%{opacity:1;filter:blur(0);transform:none}}
.sanctuary-management-force-overview-grid>.sanctuary-management-force-card{display:block;visibility:visible;opacity:1;pointer-events:auto}
@media(max-width:900px){.sanctuary-management-force-viewport{padding:3px 0 9px;overflow:hidden}.sanctuary-management-force-grid{grid-template-columns:minmax(0,1fr);gap:0;overflow:hidden}.sanctuary-management-force-grid>.sanctuary-management-force-card{width:100%}.sanctuary-management-force-boss-visual{display:none}.sanctuary-management-force-carousel .sanctuary-management-force-arrow,.sanctuary-management-force-carousel.has-pages .sanctuary-management-force-arrow{display:none!important}}
@media(prefers-reduced-motion:reduce){.sanctuary-management-force-grid>.sanctuary-management-force-card.is-page-entering-forward,.sanctuary-management-force-grid>.sanctuary-management-force-card.is-page-entering-backward{animation:none}}

/* Interactive roster feedback is paint-only: no border width, dimensions, or
   transforms change, so neighbouring force/party/slot cards never reflow. */
.sanctuary-management-force-card,
.sanctuary-management-force-card.is-supportable{cursor:default;transition:border-color .24s ease,background-color .24s ease,box-shadow .24s ease,filter .24s ease;transform:none}
.sanctuary-management-force-card:hover,
.sanctuary-management-force-card:focus-within,
.sanctuary-management-force-card.is-supportable:hover,
.sanctuary-management-force-card.is-supportable:focus-visible{background:transparent;transform:none}
.sanctuary-management-force-card:hover:not(:has(.sanctuary-management-force-party:hover)),
.sanctuary-management-force-card:focus-visible{border-color:#8caea0;background:rgba(238,250,244,.64);box-shadow:0 14px 36px rgba(35,55,103,.08),inset 0 0 0 1px rgba(56,153,108,.12);outline:0}
.sanctuary-management-force-party{transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease}
.sanctuary-management-force-party:hover:not(:has(.sanctuary-management-force-slot:hover)),
.sanctuary-management-force-party:focus-within:not(:has(.sanctuary-management-force-slot:focus-visible)){border-color:#9ebcae;background:#f5fbf8;box-shadow:inset 0 0 0 1px rgba(69,153,112,.12)}
.sanctuary-management-force-slot{transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,filter .2s ease}
.sanctuary-management-force-slot:hover,
.sanctuary-management-force-slot:focus-visible{border-color:#759b8b;background-color:#edf8f3;box-shadow:inset 0 0 0 1px rgba(61,142,103,.18);outline:0}

.sanctuary-management-force-slot:not(.is-occupied){background:#effbf5;border-color:transparent}
.sanctuary-management-force-slot:not(.is-occupied)::after{content:"";position:absolute;z-index:5;inset:1px;border-radius:9px;pointer-events:none;background:repeating-linear-gradient(90deg,#4fc989 0 7px,transparent 7px 12px) 0 0/24px 2px repeat-x,repeating-linear-gradient(90deg,#4fc989 0 7px,transparent 7px 12px) 12px 100%/24px 2px repeat-x,repeating-linear-gradient(180deg,#4fc989 0 7px,transparent 7px 12px) 0 12px/2px 24px repeat-y,repeating-linear-gradient(180deg,#4fc989 0 7px,transparent 7px 12px) 100% 0/2px 24px repeat-y;opacity:.8;animation:sanctuary-empty-slot-dashes 1.5s linear infinite}
@keyframes sanctuary-empty-slot-dashes{to{background-position:24px 0,-12px 100%,0 -12px,100% 24px}}

.sanctuary-management-force-slot.is-class-slot{min-height:54px;grid-template-columns:minmax(0,1fr);place-items:center;overflow:hidden;background:#e8faf1}
.sanctuary-management-force-slot.is-class-slot .sanctuary-management-force-slot-icon{position:absolute;z-index:1;left:-5px;top:50%;width:70px;height:70px;opacity:.7;transform:translateY(-50%);pointer-events:none}
.sanctuary-management-force-slot.is-class-slot .sanctuary-management-force-slot-copy{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:none;place-items:center;padding:0 4px;box-sizing:border-box}
.sanctuary-management-force-slot-recruitment{width:100%;color:#137049;font-size:clamp(13px,1.35vw,18px);font-weight:1000;line-height:1.05;text-align:center;text-shadow:0 1px 0 #fff,0 0 10px rgba(85,222,148,.3);white-space:nowrap}

.sanctuary-management-alt-tooltip{position:absolute;z-index:20;inset:2px;min-width:0;padding:3px 7px;display:flex;align-items:center;align-content:center;justify-content:center;flex-wrap:wrap;column-gap:7px;row-gap:0;border:1px solid rgba(185,255,117,.38);border-radius:8px;background:rgba(8,13,17,.94);color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease;box-sizing:border-box;text-align:center;white-space:normal}
.sanctuary-management-alt-name,.sanctuary-management-main-name{min-width:0;font-size:clamp(11px,1.15vw,15px);font-weight:1000;line-height:1.05;white-space:normal;word-break:keep-all}
.sanctuary-management-alt-name{color:#ff75e6;text-shadow:0 0 7px rgba(255,72,214,.42)}
.sanctuary-management-alt-relation{min-width:0;display:inline-flex;align-items:baseline;justify-content:center;gap:2px;color:#fff;font-size:clamp(11px,1.15vw,15px);line-height:1.05;white-space:nowrap}
.sanctuary-management-main-name{color:#b9ff73;text-shadow:0 0 4px rgba(185,255,115,.95),0 0 11px rgba(139,236,70,.7)}
.sanctuary-management-alt-relation>small{color:#fff;font-size:.5em;font-weight:900;line-height:1}
.sanctuary-management-force-slot[data-sanctuary-alt-detail].is-alt-detail-open>.sanctuary-management-alt-tooltip{opacity:1;visibility:visible}

@media(max-width:560px){.sanctuary-management-force-slot.is-class-slot{min-height:50px}.sanctuary-management-force-slot.is-class-slot .sanctuary-management-force-slot-icon{left:-4px;width:62px;height:62px}.sanctuary-management-force-slot-recruitment{font-size:clamp(12px,4.2vw,16px)}.sanctuary-management-alt-tooltip{padding-inline:3px;column-gap:2px}.sanctuary-management-alt-name,.sanctuary-management-main-name,.sanctuary-management-alt-relation{font-size:clamp(9px,2.55vw,11px)}}
@media(prefers-reduced-motion:reduce){.sanctuary-management-force-card,.sanctuary-management-force-party,.sanctuary-management-force-slot,.sanctuary-management-alt-tooltip{transition:none}.sanctuary-management-force-slot:not(.is-occupied)::after{animation:none}}

/* Stage 12: keep both parties beside each other on narrow public screens.
   Density comes from reducing nested team/force/party padding and stacking the
   compact identity rows; no horizontal scroller or transformed card is used. */
@media(max-width:560px){
  .sanctuary-management-team-panel{padding:11px}
  .sanctuary-management-team-card{padding:10px 8px}
  .sanctuary-management-force-carousel{margin-top:5px}
  .sanctuary-management-force-card{padding:8px;border-radius:14px}
  .sanctuary-management-force-card-head{padding-bottom:8px}
  .sanctuary-management-force-card-head strong{font-size:14px}
  .sanctuary-management-force-card-head em{font-size:11px}
  .sanctuary-management-force-title-row{column-gap:5px}
  .sanctuary-management-force-difficulty{padding:3px 5px;font-size:7.5px}
  .sanctuary-management-force-average{font-size:8px}
  .sanctuary-management-force-parties{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:7px}
  .sanctuary-management-force-party{min-width:0;padding:4px;gap:3px;border-radius:9px}
  .sanctuary-management-force-party-head{gap:3px;padding:0 1px 2px}
  .sanctuary-management-force-party-head strong{font-size:9px}
  .sanctuary-management-force-party-head small{font-size:7.5px}
  .sanctuary-management-force-slot{min-width:0;min-height:42px;padding:3px;grid-template-columns:26px minmax(0,1fr);gap:3px;border-radius:8px}
  .sanctuary-management-force-slot::before{font-size:27px}
  .sanctuary-management-force-slot-icon{width:26px;height:26px;border-radius:0}
  .sanctuary-management-force-slot-copy{min-width:0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name server" "power power";column-gap:3px;row-gap:1px}
  .sanctuary-management-force-slot-name{width:auto;max-width:none;font-size:9px}
  .sanctuary-management-force-slot-server{max-width:3.8em;font-size:7.5px}
  .sanctuary-management-force-slot-power{font-size:8.5px}
  .sanctuary-management-power-value{gap:2px}.sanctuary-management-power-value img{width:10px;height:10px}
  .sanctuary-management-force-card-state{margin-top:7px;padding-top:7px;font-size:9px}
  .sanctuary-management-force-slot.is-class-slot{min-height:46px}
  .sanctuary-management-force-slot.is-class-slot .sanctuary-management-force-slot-icon{left:-3px;width:50px;height:50px}
  .sanctuary-management-force-slot-recruitment{font-size:clamp(9px,3.2vw,12px)}
}
@media(max-width:350px){
  .sanctuary-management-team-panel{padding:8px}
  .sanctuary-management-team-card{padding:8px 5px}
  .sanctuary-management-team-title-band{padding:7px}
  .sanctuary-management-force-card{padding:6px}
  .sanctuary-management-force-party{padding:3px}
  .sanctuary-management-force-slot{min-height:40px;padding:2px;grid-template-columns:24px minmax(0,1fr);gap:2px}
  .sanctuary-management-force-slot-icon{width:24px;height:24px}
  .sanctuary-management-force-slot-copy{column-gap:2px}
  .sanctuary-management-force-slot-name{font-size:8.5px}
  .sanctuary-management-force-slot-server{max-width:3.5em;font-size:7px}
  .sanctuary-management-force-slot-power{font-size:8px}
}
