/* The Legal Tech Map. Shared by the page and the embed. Uses the site's color tokens, so it follows light and dark. */
.mc,.mc *,.mp-dr,.mp-dr *,.mw-wrap,.mw-wrap *{box-sizing:border-box}
.mc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.mc{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 20px 14px;color:var(--fg);font-family:var(--sans);transition:border-color .15s,box-shadow .15s}
.mc:hover{border-color:color-mix(in srgb,var(--mc) 55%,var(--line));box-shadow:0 6px 24px rgba(0,0,0,.06)}
.mc-h{display:flex;align-items:baseline;gap:10px}
.mc-num{flex:none;font:500 11px var(--mono);letter-spacing:.06em;color:color-mix(in srgb,var(--mc) 45%,var(--fg))}
.mc-n{margin:0;font:800 17px/1.2 var(--display);letter-spacing:-.01em}
.mc-n a{color:inherit;text-decoration:none}.mc-n a:hover{color:var(--mc)}
.mc-p{margin:6px 0 0;font-size:13px;line-height:19px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mc-s{display:flex;flex-wrap:wrap;gap:4px 16px;margin:12px 0 0;font:500 11px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.mc-s b{font-weight:500;color:var(--fg)}
.mc-top{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px;margin:16px 0 14px}
.mc-co{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;text-decoration:none;color:var(--fg)}
.mc-co span{max-width:100%;font-size:11.5px;font-weight:600;line-height:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-co:hover .mc-lg{border-color:var(--mc);transform:translateY(-1px)}
.mc-lg{width:44px;height:44px;flex:none;border-radius:11px;background:var(--raised);border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;transition:border-color .15s,transform .15s}
.mc-lg b{font:800 15px var(--display);color:var(--mc)}
.mc-lg.has-img{background:#fff}.mc-lg img{width:78%;height:78%;object-fit:contain}
.mc-none{grid-column:1/-1;margin:0;font-size:13px;color:var(--muted)}
.mc-f{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.mc-more{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:2px 0;color:var(--fg);font:700 13px var(--sans);cursor:pointer;text-decoration:none}
.mc-more::after{content:"\2192";color:var(--mc);transition:transform .15s}
.mc-more:hover::after{transform:translateX(3px)}
.mc[hidden],.mc-all{display:none}
.mc-ai{font:700 8.5px/1 var(--mono);font-style:normal;background:var(--apricot,#ff8a5c);color:#121110;border-radius:4px;padding:2px 4px;letter-spacing:.04em;vertical-align:2px}
/* Full lists (drawer, country panel, single-category embed) */
.mc-list{list-style:none;margin:0;padding:0}
.mc-list li{border-top:1px solid var(--line)}
.mc-list li:first-child{border-top:0}
.mc-list a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 2px;color:var(--fg);text-decoration:none}
.mc-list a:hover .mc-rt b{color:var(--mc,var(--apricot))}
.mc-list .mc-lg{width:36px;height:36px;border-radius:9px}
.mc-rt{min-width:0;display:grid;gap:2px}
.mc-rt b{font-size:14px;font-weight:700;line-height:18px}
.mc-rt>span{font-size:12.5px;line-height:17px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-rm{display:grid;gap:2px;text-align:right;white-space:nowrap}
.mc-rm b{font:500 12px var(--mono);color:var(--fg)}
.mc-rm span{font:500 10.5px var(--mono);color:var(--muted);letter-spacing:.03em}
.mc-one{color:var(--fg)}.mc-one .mc-p{-webkit-line-clamp:3;margin:0 0 8px}
/* World view */
.mw-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.mw-box,.mw-side{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;color:var(--fg)}
.mw-ctl{display:flex;flex-wrap:wrap;gap:8px}
.mw-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.mw{display:block;width:100%;height:auto}
.mw-land path{fill:var(--raised);stroke:var(--surface);stroke-width:.6}
.mw-land path.on{fill:color-mix(in srgb,var(--apricot,#ff8a5c) 16%,var(--raised));cursor:pointer}
.mw-land path.sel{fill:color-mix(in srgb,var(--apricot,#ff8a5c) 34%,var(--raised))}
.mw-d{cursor:pointer;outline:none}
.mw-land path,.mw-d circle{vector-effect:non-scaling-stroke}
.mw-d circle{fill:var(--apricot,#ff8a5c);fill-opacity:.82;stroke:var(--surface);stroke-width:2;transition:fill-opacity .15s}
.mw-d:hover circle,.mw-d:focus-visible circle{fill-opacity:1}
.mw-d.sel circle{fill:#d9541c;fill-opacity:1}
.mw-d text{font-family:var(--mono);font-weight:700;fill:#121110;text-anchor:middle;pointer-events:none}
.mw-note{margin:10px 0 0;color:var(--muted);font-size:10.5px;line-height:16px}
.mw-side{position:sticky;top:84px;max-height:calc(100vh - 110px);overflow:auto}
.mw-side h3.label{margin:0 0 10px;color:var(--muted)}
.mw-rank{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mw-rank button{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 72px 52px;gap:10px;align-items:center;border:0;background:none;padding:8px 6px;border-radius:8px;color:var(--fg);font:600 13.5px var(--sans);text-align:left;cursor:pointer}
.mw-rank button:hover{background:var(--raised)}
.mw-rn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mw-rb{height:6px;border-radius:3px;background:var(--raised);overflow:hidden}.mw-rb i{display:block;height:100%;border-radius:3px;background:var(--apricot,#ff8a5c)}
.mw-rank b{font:500 12px var(--mono);text-align:right}
.mw-none{font-size:13px;color:var(--muted);padding:6px}
.mw-back{border:0;background:none;padding:0;color:var(--muted);font:600 13px var(--sans);cursor:pointer}.mw-back:hover{color:var(--fg)}
.mw-cn{margin:10px 0 2px;font:800 20px/1.2 var(--display)}
.mw-cs{margin:0 0 8px;font:500 11px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.mw-side .mc-rt>span{white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
/* Embed ranking under the world map */
.mw-wrap+.mw-rank,svg.mw+.mw-rank{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 18px;margin-top:12px;font:600 13px var(--sans)}
svg.mw+.mw-rank li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:6px 0}
svg.mw+.mw-rank b{font:500 12px var(--mono)}
/* Page chrome */
.mp-hero{padding:56px 0 64px}
.mp-bar{position:sticky;top:0;z-index:15;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.mp-bar-in{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:12px;padding-bottom:12px}
.mp-tabs{flex:none}
.mp-tabs button[aria-selected=true]{background:var(--fg);color:var(--bg)}
.mp-bar input[type=search],.mp-bar select{height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);font:500 14px var(--sans);padding:0 12px}
.mp-bar select{padding-right:30px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23a8a29a' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;cursor:pointer}
.mp-q input{width:200px}
.mp-count{margin-left:auto;color:var(--muted)}.mp-count b{color:var(--fg)}
.mp-embed-b{height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);font:700 13px var(--sans);padding:0 14px;cursor:pointer}
.mp-embed-b:hover{border-color:var(--fg)}
.mp-wrap{background:var(--bg);padding:28px 0 96px;color:var(--fg)}
.mp-empty{padding:40px 0;text-align:center;color:var(--muted)}
.mp-foot{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);display:grid;gap:10px;max-width:820px}
.mp-foot p{margin:0;font-size:15px;line-height:23px;color:var(--body,var(--fg))}.mp-foot b{color:var(--fg)}.mp-foot a{color:var(--apricot-text,#a8401a)}
.mp-foot .mp-how{font-size:13px;color:var(--muted)}
/* Category drawer */
.mp-dr{margin:0 0 0 auto;height:100vh;max-height:100vh;width:min(520px,100vw);max-width:100vw;border:0;padding:0;background:var(--surface);color:var(--fg);box-shadow:-12px 0 40px rgba(0,0,0,.18)}
.mp-dr::backdrop{background:rgba(18,17,16,.45)}
.mp-dr[open]{animation:mpdr .22s ease}
@keyframes mpdr{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}
.mp-dr-in{display:flex;flex-direction:column;height:100%;padding:24px 24px 20px;border-top:4px solid var(--mc)}
.mp-dr-h{display:flex;justify-content:space-between;gap:16px}
.mp-dr-h .mc-n{font-size:22px;margin-top:4px}
.mp-dr .mc-list{flex:1;overflow:auto;margin:14px -4px 14px 0;padding-right:4px}
.mp-em-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.mp-em-row select{height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);font:500 14px var(--sans);padding:0 12px}
@media (max-width:980px){.mw-wrap{grid-template-columns:1fr}.mw-side{position:static;max-height:none}}
@media (max-width:760px){.mp-bar{position:static}.mp-tabs{width:100%;display:flex}.mp-tabs button{flex:1}.mp-q,.mp-q input{width:100%}.mp-count{margin-left:0}.mc-grid{grid-template-columns:1fr}.mw-box,.mw-side{padding:14px}}
