/* LC Menu 2 — left drawer · prefix lcn2- · plain CSS */
:root{
  --lcn2-navy-0:#0a1124;
  --lcn2-navy-1:#111c38;
  --lcn2-navy-2:#17244a;
  --lcn2-gold:#e3b53f;
  --lcn2-gold-soft:#f2cf6b;
  --lcn2-gold-deep:#b98a1f;
  --lcn2-white:#f5f7fb;
  --lcn2-muted:#8a93a6;
  --lcn2-line:rgba(255,255,255,.09);
  --lcn2-w:280px;
  --lcn2-font:Inter,"Segoe UI",Roboto,system-ui,-apple-system,sans-serif;
}

/* ---------- hamburger ---------- */
.lcn2-burger{
  position:fixed;top:14px;left:14px;z-index:9990;
  width:42px;height:42px;border-radius:12px;border:1px solid rgba(17,28,56,.12);
  background:#fff;box-shadow:0 2px 10px rgba(10,17,36,.12);
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;
}
.lcn2-burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--lcn2-navy-1)}
.lcn2-burger:focus{outline:none}
.lcn2-burger:focus-visible{outline:2px solid var(--lcn2-gold);outline-offset:2px}

/* ---------- backdrop ---------- */
.lcn2-backdrop{
  position:fixed;inset:0;z-index:10000;
  background:rgba(60,66,82,.42);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  opacity:0;transition:opacity .22s ease;
}
.lcn2-backdrop[hidden]{display:none}
.lcn2-open .lcn2-backdrop{opacity:1}

/* ---------- drawer ---------- */
.lcn2-drawer{
  position:fixed;top:0;left:0;bottom:0;z-index:10010;
  width:var(--lcn2-w);max-width:88vw;
  display:flex;flex-direction:column;
  background:linear-gradient(180deg,var(--lcn2-navy-2) 0%,var(--lcn2-navy-1) 45%,var(--lcn2-navy-0) 100%);
  color:var(--lcn2-white);font-family:var(--lcn2-font);
  box-shadow:10px 0 40px rgba(5,9,20,.45);
  transform:translateX(-102%);visibility:hidden;
  transition:transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s linear .26s;
  -webkit-tap-highlight-color:transparent;
}
.lcn2-drawer:focus{outline:none}
.lcn2-open .lcn2-drawer{transform:none;visibility:visible;transition:transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s}
.lcn2-drawer *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}

/* header: badge + title block = one link to the person's LC Sphere profile */
.lcn2-head{
  flex:0 0 auto;display:flex;align-items:center;gap:10px;
  padding:14px 14px 13px 16px;border-bottom:1px solid var(--lcn2-line);
}
.lcn2-home{
  flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:11px;
  color:inherit;text-decoration:none;background:transparent !important;outline:none;cursor:pointer;
}
.lcn2-home:hover .lcn2-title{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.lcn2-home:focus{outline:none}
.lcn2-home:focus-visible{outline:2px solid var(--lcn2-gold);outline-offset:3px;border-radius:8px}
.lcn2-badge{
  flex:0 0 auto;width:34px;height:34px;border-radius:9px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,var(--lcn2-gold-soft),var(--lcn2-gold) 55%,var(--lcn2-gold-deep));
  color:#1a1405;font-weight:800;font-size:12.5px;letter-spacing:.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 2px 6px rgba(0,0,0,.3);
}
.lcn2-brand{flex:1 1 auto;min-width:0;line-height:1.25;display:block}
.lcn2-title{display:block;font-weight:700;font-size:15px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lcn2-sub{display:block;font-size:11.5px;color:var(--lcn2-gold);margin-top:2px;white-space:nowrap}
.lcn2-close{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.04);color:#fff;
  display:grid;place-items:center;cursor:pointer;padding:0;
}
.lcn2-close:hover{border-color:rgba(255,255,255,.5)}
.lcn2-close:focus{outline:none}
.lcn2-close:focus-visible{outline:2px solid var(--lcn2-gold);outline-offset:2px}

/* scroll body */
.lcn2-body{
  flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;
  padding:8px 6px 14px 0;
  scrollbar-width:thin;scrollbar-color:var(--lcn2-gold-deep) transparent;
}
.lcn2-body::-webkit-scrollbar{width:6px}
.lcn2-body::-webkit-scrollbar-track{background:transparent}
.lcn2-body::-webkit-scrollbar-thumb{background:linear-gradient(var(--lcn2-gold),var(--lcn2-gold-deep));border-radius:6px}

/* rows: checkbox (toggle only) + label link (navigates). hover = underline label only; no bg, no active, no click outline */
.lcn2-list{list-style:none;margin:0;padding:0}
.lcn2-item{display:flex;align-items:flex-start;gap:10px;padding:6px 12px 6px 16px}
.lcn2-lv2{padding-left:36px}
.lcn2-lv3{padding-left:56px}
.lcn2-link,.lcn2-logout{
  flex:0 1 auto;min-width:0;display:flex;align-items:flex-start;gap:10px;
  color:inherit;text-decoration:none;cursor:pointer;
  background:transparent !important;outline:none;
}
.lcn2-link:hover .lcn2-txt,.lcn2-logout:hover .lcn2-txt{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.lcn2-link:active,.lcn2-logout:active,.lcn2-item:active{background:transparent !important}
.lcn2-link:focus,.lcn2-logout:focus{outline:none}
.lcn2-link:focus-visible,.lcn2-logout:focus-visible{outline:2px solid var(--lcn2-gold);outline-offset:2px;border-radius:4px}
.lcn2-ico{flex:0 0 auto;width:16px;height:16px;color:var(--lcn2-gold);margin-top:-.5px}
.lcn2-txt{min-width:0;overflow-wrap:anywhere}

/* checkbox: rounded square, navy fill, gold border, gold check / dash */
.lcn2-cb{
  -webkit-appearance:none;appearance:none;margin:0;flex:0 0 auto;
  width:16px;height:16px;border-radius:4px;margin-top:-.5px;
  border:1.5px solid var(--lcn2-gold);background:var(--lcn2-navy-0) center/12px 12px no-repeat;
  cursor:pointer;outline:none;
}
.lcn2-cb:checked{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.3l2.4 2.4 4.8-5' fill='none' stroke='%23e3b53f' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.lcn2-cb:indeterminate{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6h6' fill='none' stroke='%23e3b53f' stroke-width='1.9' stroke-linecap='round'/%3E%3C/svg%3E");
}
.lcn2-cb:focus{outline:none}
.lcn2-cb:focus-visible{outline:2px solid var(--lcn2-gold-soft);outline-offset:2px}

/* level-1 headings (with or without box): gold uppercase + line */
.lcn2-sec{margin-top:6px}
.lcn2-sec-head{align-items:center;padding-top:10px;padding-bottom:5px}
.lcn2-head-link{
  align-items:center;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lcn2-gold);line-height:1.3;
}
.lcn2-sec-line{flex:1 1 auto;min-width:14px;height:1px;align-self:center;background:linear-gradient(90deg,rgba(227,181,63,.55),rgba(227,181,63,.08))}
.lcn2-plain .lcn2-sec-head{padding-top:12px}

/* child rows */
.lcn2-lv2 .lcn2-link,.lcn2-lv3 .lcn2-link{font-size:12.5px;font-weight:500;line-height:1.3;letter-spacing:.01em;color:var(--lcn2-white)}
.lcn2-lv3 .lcn2-link{font-size:12px;color:#dfe4ee}
.lcn2-l2{padding-bottom:4px}

/* footer */
.lcn2-foot{flex:0 0 auto;border-top:1px solid var(--lcn2-line);padding:12px 16px 12px}
.lcn2-logout{font-size:13.5px;font-weight:500;color:var(--lcn2-white);padding:4px 0}
.lcn2-logout .lcn2-ico{color:var(--lcn2-white)}
.lcn2-note{margin:10px 0 0;font-size:10.5px;color:var(--lcn2-muted);line-height:1.35}

html.lcn2-lock,html.lcn2-lock body{overflow:hidden}

@media (prefers-reduced-motion:reduce){.lcn2-drawer,.lcn2-backdrop{transition:none}}

/* ---------- left/right docking (lc-dock, localStorage "lc-menu-side") ---------- */
.lcn2-burger,.lcn2-head{touch-action:none}
.lcn2-swap{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.04);color:#fff;
  display:grid;place-items:center;cursor:pointer;padding:0;
}
.lcn2-swap:hover{border-color:rgba(255,255,255,.5)}
.lcn2-swap:focus{outline:none}
.lcn2-swap:focus-visible{outline:2px solid var(--lcn2-gold);outline-offset:2px}
.lc-dock-dragging{transition:none !important;cursor:grabbing}
html[data-lc-side="right"] .lcn2-burger{left:auto;right:14px}
html[data-lc-side="right"] .lcn2-drawer{left:auto;right:0;transform:translateX(102%);box-shadow:-10px 0 40px rgba(5,9,20,.45)}
html[data-lc-side="right"].lcn2-open .lcn2-drawer{transform:none}
/* ---------- launcher: drag dots · LC · chevron; shrinks to a compact pill (lc-dock measures the minimum) ---------- */
.lcn2-burger{width:auto;flex-direction:row;gap:6px;padding:4px 9px;box-sizing:border-box}
.lcn2-grip{display:block;flex:none;width:10px;height:16px;color:var(--lcn2-gold-deep)}
.lcn2-ltxt{display:block;flex:none;font:800 12px/1 var(--lcn2-font);letter-spacing:.03em;color:var(--lcn2-navy-1)}
.lcn2-lchev{display:block;flex:none;width:11px;height:11px;color:var(--lcn2-gold-deep)}
html[data-lc-side="right"] .lcn2-lchev{transform:scaleX(-1)}
.lcn2-burger.lc-compact{border-radius:999px}
.lcn2-burger::after{
  content:attr(data-tip);position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);
  width:max-content;max-width:min(260px,70vw);white-space:normal;text-align:left;
  padding:6px 9px;border-radius:6px;background:var(--lcn2-navy-0);color:#fff;
  font:600 11.5px/1.25 var(--lcn2-font);box-shadow:0 4px 14px rgba(0,0,0,.25);
  opacity:0;visibility:hidden;transition:opacity .15s ease;pointer-events:none;
}
.lcn2-burger:hover::after,.lcn2-burger:focus-visible::after{opacity:1;visibility:visible}
html[data-lc-side="right"] .lcn2-burger::after{left:auto;right:calc(100% + 8px)}

/* ===== LC dock: launcher resize handles — 4 edges + 4 corners, thin invisible hit areas (8px, centred on the edge) ===== */
.lc-rh{position:absolute;display:block;z-index:3;background:transparent;touch-action:none;margin:0;padding:0;border:0}
.lc-rh-n,.lc-rh-s{left:6px;right:6px;height:8px;cursor:ns-resize}
.lc-rh-n{top:-4px}.lc-rh-s{bottom:-4px}
.lc-rh-e,.lc-rh-w{top:6px;bottom:6px;width:8px;cursor:ew-resize}
.lc-rh-e{right:-4px}.lc-rh-w{left:-4px}
.lc-rh-ne,.lc-rh-nw,.lc-rh-se,.lc-rh-sw{width:12px;height:12px}
.lc-rh-nw{top:-4px;left:-4px;cursor:nwse-resize}.lc-rh-se{bottom:-4px;right:-4px;cursor:nwse-resize}
.lc-rh-ne{top:-4px;right:-4px;cursor:nesw-resize}.lc-rh-sw{bottom:-4px;left:-4px;cursor:nesw-resize}
/* visual hint: small gold grip dot on the inner bottom corner (se when docked left, sw when right) */
html:not([data-lc-side="right"]) .lc-rh-se::after,html[data-lc-side="right"] .lc-rh-sw::after{
  content:"";position:absolute;left:2px;top:2px;width:8px;height:8px;border-radius:50%;
  background:#e3b53f;box-shadow:0 0 0 1.5px #fff,0 1px 3px rgba(0,0,0,.35);pointer-events:none}
.lc-dock-resizing{transition:none !important}
.lc-dock-resizing::after{opacity:0 !important}
