:root{color-scheme:dark;--bg:#101211;--surface:#181b19;--line:#303630;--muted:#9da69e;--text:#f0f4ed;--accent:#c1fa7a;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;font-size:100%;line-height:1.5;font-optical-sizing:auto}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#222722;border-radius:9px;padding:11px 16px;transition:background .18s,transform .18s}button:hover{background:#323a31}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button.primary{background:var(--accent);color:#182013;border:0;font-weight:650}button.primary:hover{background:#d4ffa4}.quiet{background:transparent;font-size:14px}header{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:30px;padding:0 4.5vw}header .quiet{margin-left:auto}.brand{font-size:32px;font-weight:750;letter-spacing:-2px;color:var(--text);text-decoration:none;display:flex;align-items:center;gap:8px}.brand-mark{color:var(--accent);font-size:34px;line-height:1}.header-caption{font-size:12px;letter-spacing:1.5px;color:var(--muted);border-left:1px solid var(--line);padding-left:30px}main{max-width:1600px;margin:auto;padding:48px 4.5vw 20px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{color:var(--accent);font-size:12px;letter-spacing:2px;font-weight:600}h1{font-size:clamp(34px,4vw,58px);font-weight:500;letter-spacing:-2px;margin:12px 0 28px}h1 span{color:var(--accent)}.view-switch{background:#1c201c;border:1px solid var(--line);padding:5px;border-radius:12px;display:flex}.view-switch button{border:0;background:none;font-size:14px;color:var(--muted)}.view-switch .selected{background:#343b33;color:var(--text)}.overview{display:flex;align-items:center;gap:50px;border-bottom:1px solid var(--line);padding:8px 0 28px}.overview>div{display:flex;align-items:baseline;gap:12px}.overview strong{font-size:34px;font-weight:450}.overview span{color:var(--muted);font-size:14px}.overview p{margin:0 0 0 auto;font-size:14px;line-height:1.8}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0}.legend{display:flex;gap:22px;flex-wrap:wrap;font-size:14px;color:#cad1c9}.status-dot{display:inline-block;width:7px;height:7px;background:var(--glow);border-radius:50%;margin-right:8px;box-shadow:0 0 9px color-mix(in srgb,var(--glow),transparent 45%)}.notice{border:1px solid #495439;color:#cbd9bb;background:#1f281b;border-radius:10px;padding:13px 18px;margin-bottom:22px;font-size:14px;line-height:1.6}#adminTools{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:24px}#adminTools span{font-size:12px;color:var(--muted);margin-left:auto}[hidden]{display:none!important}.category{border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,#1b1f1b,#171a18);margin-bottom:24px;overflow:hidden}.category-head{padding:22px 28px;display:flex;gap:16px;align-items:center;border-bottom:1px solid var(--line)}.category-num{color:var(--muted);font-size:12px;letter-spacing:1px}.category-head h2{font-size:22px;font-weight:500;margin:0}.category-head .count{color:var(--muted);font-size:14px;margin-left:auto}.roles{display:grid;grid-template-columns:1fr 1fr}.role{min-width:0;padding:24px 28px 26px}.role+.role{border-left:1px solid var(--line)}.role-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.role-heading h3{font-size:13px;letter-spacing:1.8px;font-weight:500;color:#c0c8bf;margin:0}.role-heading span{color:var(--muted);font-size:12px}.icons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 12px}.partner{min-width:0;text-align:center;border:0;padding:0;background:none!important;display:flex;align-items:center;flex-direction:column}.icon{position:relative;isolation:isolate;width:clamp(46px,5.4vw,78px);aspect-ratio:1;border-radius:24%;background:#f5f5f3;display:grid;place-items:center;color:#202520;font-size:25px;font-weight:750;margin:4px 0 12px;transition:transform .2s}.icon:before{content:"";position:absolute;inset:-3px;border-radius:inherit;box-shadow:0 0 12px 4px var(--glow),0 0 27px 0 var(--glow);opacity:.30;z-index:-1;filter:blur(3px);animation:mist 4.5s ease-in-out infinite;animation-delay:var(--delay,0s)}.icon:after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid #ffffff25;pointer-events:none}.icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit;background:white}.partner:hover .icon{transform:translateY(-4px)}.partner-name{font-size:13px;line-height:1.4;overflow-wrap:anywhere;max-width:100%}.partner-status{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.3}.slot .icon{background:#ffffff02;border:1px dashed #414941;color:#727b70;font-size:22px;font-weight:400}.slot .icon:before{display:none}.slot .partner-name{color:#737e74;font-size:12px}.role-active{margin-bottom:25px;padding-bottom:22px;border-bottom:1px solid var(--line)}.row-label{font-size:12px;color:#9da99b;margin:0 0 18px}.active-label{color:#9bdfac}.empty-map{padding:55px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:18px}footer{display:flex;justify-content:space-between;gap:20px;padding:14px 0;color:#7b867b;font-size:12px;letter-spacing:.5px}dialog{background:#1b201c;color:var(--text);border:1px solid #46503f;border-radius:20px;padding:28px;width:min(560px,calc(100vw - 28px));max-height:90dvh;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#050805b8;backdrop-filter:blur(8px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.modal-head h2{font-size:24px;font-weight:500;margin:0}.close{padding:6px 12px;background:transparent;font-size:22px}label{display:block;font-size:14px;margin:18px 0 7px;color:#d1d9cc}input,select,textarea{background:#121613;border:1px solid #3d473b;border-radius:9px;width:100%;padding:12px;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;line-height:1.6}input[type=file]{font-size:13px}input[type=file]::file-selector-button{padding:7px;border:0;background:#35442f;color:white;border-radius:5px;margin-right:10px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.help{color:var(--muted);font-size:13px;line-height:1.6}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px;flex-wrap:wrap}.danger{color:#ff9b96;margin-right:auto}.error{color:#ffaba5;font-size:14px;line-height:1.5}.preview-icon{width:78px;height:78px;border-radius:20px;object-fit:cover;display:block;margin:16px auto}.category-edit{display:flex;gap:8px;align-items:center;margin:10px 0}.category-edit input{min-width:0}.detail-icon{display:flex;justify-content:center;margin:30px}.detail-icon .icon{width:100px;font-size:36px}.detail-note{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.detail-status{text-align:center;color:var(--glow)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#d3f5b3;color:#182413;padding:14px 24px;border-radius:10px;box-shadow:0 8px 40px #0007;z-index:5;max-width:90vw}@keyframes mist{0%,100%{opacity:.22}50%{opacity:.46}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}@media(min-width:1500px){.icon{width:82px}}@media(max-width:1000px){.roles{grid-template-columns:1fr}.role+.role{border-left:0;border-top:1px solid var(--line)}.icon{width:70px}.overview{gap:24px}.overview p{display:none}.legend{gap:15px}.toolbar{align-items:flex-start}}@media(max-width:600px){header{height:72px;padding:0 20px}.header-caption{display:none}main{padding:30px 16px 16px}.heading{align-items:flex-start;flex-direction:column;gap:0}h1{margin-bottom:20px}.view-switch{margin-bottom:24px}.overview{gap:22px;padding-bottom:20px}.overview>div{display:block}.overview strong{display:block;font-size:30px}.overview span{font-size:12px}.toolbar{flex-direction:column;gap:20px}.legend{font-size:12px;gap:14px}.category-head{padding:20px}.category-head h2{font-size:19px}.category-head .count{font-size:12px}.role{padding:22px 16px}.icons{gap:16px 8px}.icon{width:clamp(42px,12vw,66px)}.partner-name{font-size:11px}.partner-status{font-size:10px}.role-heading h3{font-size:12px}.role-heading span{font-size:11px}footer{font-size:10px}.two-col{grid-template-columns:1fr;gap:0}dialog{padding:22px}.category-num{display:none}}


/* Apple Design: system typography, functional materials and instant feedback.
   Preserve Omniom's original logo and the established dark/status palette. */
:root{--radius-card:1.5rem;--radius-control:.75rem;--motion-response:180ms}
button{min-height:2.75rem;border-radius:var(--radius-control);font-weight:500;touch-action:manipulation;transition:background var(--motion-response),transform var(--motion-response),box-shadow var(--motion-response)}
button:active{transform:scale(.97);transition:transform 80ms ease-out}
button:disabled{transform:none}
header{position:sticky;top:0;z-index:3;height:5rem;background:rgba(16,18,17,.88);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border-bottom:0;box-shadow:0 6px 24px #00000012;gap:1.75rem}
.brand{gap:.75rem;font-size:1.375rem;font-weight:650;letter-spacing:-.025em;flex-shrink:0}
.brand-symbol{width:3rem;height:3rem;padding:.25rem;border-radius:.8rem;background:#f5f5f7;display:grid;place-items:center}
.brand-symbol img{display:block;width:100%;height:100%;object-fit:contain}
.header-caption{font-size:.8125rem;letter-spacing:.015em;border:0;padding:0}
header .quiet{border-color:#ffffff18;background:#ffffff06;border-radius:999px;padding:.5rem 1rem}
main{max-width:1600px;padding-top:2.5rem}
.heading{gap:1.5rem}.eyebrow{font-size:.8125rem;line-height:1.5;letter-spacing:.025em;font-weight:550;color:var(--muted)}
h1{font-size:clamp(2rem,3.8vw,3.375rem);font-weight:650;line-height:1.08;letter-spacing:-.035em;margin:.5rem 0 1.75rem}
.view-switch{border:1px solid #ffffff09;background:#ffffff06;border-radius:.875rem;padding:.25rem;gap:.125rem}
.view-switch button{font-size:.875rem;border-radius:.625rem;min-height:2.5rem;padding:.5rem 1rem}
.view-switch .selected{background:#343b33;box-shadow:0 2px 8px #0003;font-weight:600}
.overview{gap:3rem;padding:.5rem 0 1.75rem}.overview>div{gap:.625rem}.overview strong{font-size:2rem;line-height:1.2;font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.overview span{font-size:.875rem}
.toolbar{margin:1.5rem 0;gap:1.5rem}.legend{font-size:.875rem;line-height:1.5;gap:1rem 1.5rem}.status-dot{width:.5rem;height:.5rem}
.notice{border-radius:1rem;font-size:.875rem;padding:1rem 1.25rem}
.category{border-radius:var(--radius-card);border-color:#ffffff0f;box-shadow:0 4px 20px #00000012;margin-bottom:1.5rem}
.category-head{padding:1.25rem 1.75rem;gap:1rem}.category-head h2{font-size:1.375rem;font-weight:600;line-height:1.25;letter-spacing:-.015em}.category-head .count{font-size:.8125rem}.category-num{font-size:.75rem;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.role{padding:1.5rem 1.75rem 1.75rem}.role-heading{gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.role-heading h3{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--text)}.role-heading span{font-size:.8125rem;letter-spacing:.01em}.row-label{font-size:.8125rem;margin-bottom:1rem}
.icons{gap:1.5rem .75rem}.icon{font-weight:650;border-radius:24%;margin:.25rem 0 .875rem;box-shadow:0 2px 4px #0002}.partner{border-radius:.875rem;min-height:2.75rem}.partner:hover .icon{transform:translateY(-2px)}.partner:active .icon{transform:scale(.96)}.partner-name{font-size:.875rem;font-weight:500;line-height:1.35;letter-spacing:0}.partner-status{font-size:.875rem;line-height:1.4;margin-top:.25rem}.slot .partner-name{font-size:.8125rem;color:var(--muted)}
.role-active{margin-bottom:1.5rem;padding-bottom:1.5rem}footer{font-size:.75rem;letter-spacing:.015em;flex-wrap:wrap}
dialog{border-radius:1.75rem;padding:1.75rem;background:rgba(27,32,28,.97);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-color:#ffffff20;box-shadow:0 24px 80px #0008;max-width:calc(100vw - 1.5rem)}
dialog::backdrop{background:#05080599;backdrop-filter:blur(6px)}.modal-head{gap:1rem;margin-bottom:1.5rem}.modal-head h2{font-size:1.5rem;font-weight:600;letter-spacing:-.025em;line-height:1.2}.close{border:0;background:#ffffff09;width:2.75rem;flex-shrink:0;border-radius:50%;font-size:1.5rem;line-height:1;padding:.375rem}
label{font-size:.875rem;font-weight:500;margin:1.125rem 0 .5rem}input,select,textarea{border-radius:.75rem;padding:.75rem;font-size:1rem;line-height:1.5}input[type=file]{font-size:.875rem}.help{font-size:.875rem;line-height:1.6}.actions{gap:.75rem;margin-top:1.5rem}.error{font-size:.875rem}.detail-note{font-size:1rem}.detail-status{font-weight:550}#toast{border-radius:1rem;font-size:.9375rem}
@media(max-width:1100px){.roles{grid-template-columns:1fr}.role+.role{border-left:0;border-top:1px solid var(--line)}.icon{width:4.5rem}}
@media(max-width:600px){header{height:4.5rem;padding:0 1rem;gap:.75rem}.brand{font-size:1.25rem;gap:.625rem}.brand-symbol{width:2.5rem;height:2.5rem;border-radius:.65rem}main{padding:1.75rem 1rem 1rem}.heading{gap:0}h1{font-size:2rem;margin:.5rem 0 1.25rem}.view-switch{margin-bottom:1.5rem}.overview{gap:1.75rem;padding-bottom:1.5rem}.overview strong{font-size:1.75rem}.overview span{font-size:.8125rem}.legend{font-size:.875rem;gap:.75rem 1rem}.category-head{padding:1.25rem}.category-head h2{font-size:1.25rem}.category-head .count{font-size:.75rem}.role{padding:1.25rem 1rem 1.5rem}.role-heading h3{font-size:1rem}.role-heading span{font-size:.75rem}.icons{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem .75rem}.icon{width:clamp(3rem,16vw,4.5rem)}.partner-name,.partner-status{font-size:.875rem}.slot .partner-name{font-size:.8125rem}footer{font-size:.75rem;gap:.5rem}dialog{padding:1.5rem}.two-col{grid-template-columns:1fr}}
@media(prefers-reduced-transparency:reduce){header{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}dialog{background:#1b201c;backdrop-filter:none;-webkit-backdrop-filter:none}dialog::backdrop{backdrop-filter:none}}
@media(prefers-contrast:more){:root{--muted:#d5ddd4;--line:#687267}header{background:var(--bg)}.category,dialog,button,input,select,textarea{border-color:#87917e}.partner-status,.slot .partner-name{color:#d5ddd4}}
@media(prefers-reduced-motion:reduce){button:active,.partner:active .icon,.partner:hover .icon{transform:none}.icon:before{animation:none;opacity:.35}}

/* Partner selection and progressive disclosure */
.first-five{font-size:.8125rem;min-height:2.25rem;padding:.375rem .75rem;color:var(--accent)}
.more-partners{margin-top:1.5rem}.more-partners summary{cursor:pointer;color:var(--muted);font-size:.875rem;padding:.625rem 0;list-style:none}.more-partners summary::-webkit-details-marker{display:none}.more-partners summary:after{content:'⌄';margin-left:.5rem}.more-partners[open] summary:after{content:'⌃'}.more-partners .show-less{display:none}.more-partners[open] .show-less{display:inline}.more-partners[open] .show-more{display:none}.more-partners .icons{padding-top:1rem}.more-partners summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.priority-list{display:grid;gap:.5rem}.priority-option{display:flex;align-items:center;gap:.875rem;margin:0;padding:.75rem;border-radius:.875rem;background:#ffffff04;cursor:pointer}.priority-option:has(input:checked){background:#c1fa7a12}.priority-option input,.featured-option input{width:1.25rem;height:1.25rem;flex-shrink:0;accent-color:var(--accent)}.priority-icon{width:2.75rem;height:2.75rem;flex-shrink:0;background:#fff;border-radius:.7rem;display:grid;place-items:center;color:#182013;overflow:hidden}.priority-icon img{width:100%;height:100%;object-fit:contain;padding:.25rem}.featured-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 0}.icon img{object-fit:contain;padding:12%;background:#fff}.preview-icon{object-fit:contain;background:white;padding:.5rem}.category-head h2{overflow-wrap:anywhere}.category-head .count{flex-shrink:0}

img[src="/partners/brand-0c7fbbf45a1acfe3.svg"]{background:#191919}
.partner-cell{position:relative;min-width:0}.partner-cell>.partner{width:100%}[data-partner]{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}[data-partner] img{pointer-events:none;-webkit-user-drag:none}
.arranging .partner-cell .icon{animation:icon-wiggle .24s ease-in-out infinite alternate;transform-origin:50% 65%}.arranging .partner-cell:nth-child(even) .icon{animation-direction:alternate-reverse}.arranging .partner-cell .partner:hover .icon{transform:none}
@keyframes icon-wiggle{from{transform:rotate(-1.7deg)}to{transform:rotate(1.7deg)}}
.remove-icon{position:absolute;top:-.2rem;left:calc(50% - 2.7rem);z-index:2;width:1.75rem;height:1.75rem;min-height:0;padding:0;border-radius:50%;display:grid;place-items:center;font-size:1.25rem;line-height:1;background:#e2e5e1;color:#1e241e;border:1px solid #fff8;box-shadow:0 2px 6px #0005}.remove-icon:before{content:'';position:absolute;inset:-.35rem}.remove-icon:hover{background:white}
.drag-ghost{position:fixed;top:0;left:0;z-index:20;pointer-events:none;opacity:.94;filter:drop-shadow(0 14px 16px #0008);will-change:transform}.drag-ghost .icon{animation:none!important;transform:none!important}.drag-origin{opacity:.2}.drop-target{outline:2px solid var(--accent);outline-offset:6px;border-radius:.875rem}
#arrangeBar{position:fixed;z-index:6;bottom:1.25rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:1rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;background:#202720f5;border:1px solid #ffffff25;border-radius:1.25rem;box-shadow:0 12px 40px #0006;backdrop-filter:blur(20px);font-size:.875rem}#arrangeSave{color:var(--muted);font-size:.8125rem;white-space:nowrap}body:has(.arranging){padding-bottom:6rem}body:has(.arranging) #toast{bottom:6.5rem}
@media(max-width:600px){#arrangeBar{flex-wrap:wrap;width:calc(100vw - 2rem);gap:.5rem}#arrangeBar>span:first-child{flex:1}#arrangeDone{margin-left:auto}.remove-icon{left:calc(50% - 2.15rem)}}
@media(prefers-reduced-motion:reduce){.arranging .partner-cell .icon{animation:none!important}.arranging .partner-cell{outline:1px solid #ffffff1a;border-radius:.875rem}}

.edit-partner{display:block;margin:.375rem auto 0;padding:.375rem .5rem;min-height:2.5rem;max-width:100%;font-size:.875rem;font-weight:500;color:var(--accent);background:transparent;border-color:transparent;border-radius:.625rem;touch-action:manipulation}.edit-partner:hover{background:#ffffff0a;border-color:#ffffff15}

/* Filters, always-available additions and mobile rendering. */
.map-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:22px 0 32px}
.map-filters label{display:grid;gap:8px;margin:0;min-width:180px;color:var(--muted,#a0a7a4);font-size:12px}
.map-filters select{margin:0;min-height:44px;width:100%}
#filterCount{align-self:center;color:var(--muted,#a0a7a4);font-size:13px}
.role-heading{flex-wrap:wrap;gap:8px}.role-heading h3{margin-right:auto}.role-heading .role-add{min-height:40px;padding:8px 10px;font-size:12px}
.single-role .roles{grid-template-columns:1fr}.single-role .role{border:0;padding-left:0;padding-right:0}
#map:not(.arranging) [data-partner]{touch-action:pan-y pinch-zoom}
.category:not(.on-screen) .icon::before,.category:not(.on-screen) .icon{animation-play-state:paused}
@media(max-width:600px){.map-filters{gap:12px}.map-filters label{flex:1;min-width:135px}.role-heading .first-five{font-size:11px}.single-role .icons{grid-template-columns:repeat(3,minmax(0,1fr))}header{backdrop-filter:none;background:#101713}.icon::before{filter:none;box-shadow:0 0 12px 3px var(--glow)}}

/* A clear status rim and brighter mist; only opacity is animated. */
.icon[style*="--glow"]::before{inset:-3px;filter:none;box-shadow:0 0 10px 4px var(--glow),0 0 24px 5px color-mix(in srgb,var(--glow) 75%,transparent);opacity:.8;animation-name:status-neon}
.icon[style*="--glow"]::after{inset:-2px;border:2px solid var(--glow);box-shadow:0 0 5px var(--glow);pointer-events:none}
@keyframes status-neon{0%,100%{opacity:.68}50%{opacity:.94}}
@media(prefers-reduced-motion:reduce){.icon[style*="--glow"]::before{opacity:.8}}
