:root{
  --bg:#0e1320; --surface:#121829; --card:#161d31; --text:#e5e7eb; --muted:#9aa4b2; --border:#232b3d;
  --accent:#7C4DFF; --accent-2:#2979FF; --shadow:0 10px 30px rgba(0,0,0,.35);
}
.cmc-skin body, body.cmc-skin{background:var(--bg);color:var(--text);}
.cmc-theme .wp-block-heading, .cmc-theme h1,.cmc-theme h2,.cmc-theme h3{color:#fff}
.cmc-theme p{color:var(--muted)}
.cmc-theme .wp-block-button__link{background:var(--accent);border-radius:999px}
.cmc-theme .wp-block-table{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:8px}
.cmc-theme .learndash-wrapper, .cmc-theme .tutor-container{background:transparent}
.cmc-theme .ld-course-list-items .ld-course-list-item, .cmc-theme .tutor-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}
.cmc-theme .ld-status, .cmc-theme .tutor-progress-bar{background:rgba(124,77,255,.25)}
.cmc-theme .ld-progress-bar, .cmc-theme .tutor-progress-bar .bar{background:var(--accent)}
.cmc-container{max-width:1200px;margin:0 auto;padding:0 20px}
.cmc-shell{display:grid;grid-template-columns:280px 1fr;gap:22px;padding:24px 0}
.cmc-sidebar{position:sticky;top:20px;height:calc(100dvh - 40px);border:1px solid var(--border);border-radius:20px;background:linear-gradient(180deg, rgba(124,77,255,.08), rgba(41,121,255,.08));box-shadow:var(--shadow);padding:16px}
.cmc-brand img{width:100%;height:auto;border-radius:14px;margin-bottom:10px;border:1px solid var(--border)}
.cmc-side-title{font-weight:800;margin:2px 0 12px}
.cmc-side-links a{display:flex;align-items:center;gap:.6rem;padding:.6rem .7rem;border-radius:12px;color:#e5e7eb}
.cmc-side-links a:hover{background:rgba(255,255,255,.06)}
.cmc-main{min-height:60vh}
.cmc-hero-card{background:linear-gradient(135deg, rgba(124,77,255,.2), rgba(41,121,255,.2));border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);padding:18px}
.cmc-sub{color:var(--muted)}
.cmc-grid2{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin-top:18px}
.cmc-card{background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);padding:16px}
.cmc-section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}
.cmc-btn{display:inline-flex;gap:.6rem;align-items:center;padding:.7rem 1rem;border-radius:999px;border:1px solid transparent;background:#1f2937;color:#fff;font-weight:600;box-shadow:var(--shadow);transition:.2s}
.cmc-btn:hover{transform:translateY(-1px);}
.cmc-btn.cmc-alt{background:var(--accent)}
.cmc-btn.cmc-ghost{background:transparent;color:#e5e7eb;border-color:var(--border)}
.cmc-mock{background:radial-gradient(800px 300px at 60% -20%, rgba(124,77,255,.12), transparent 55%), radial-gradient(600px 260px at 40% 120%, rgba(41,121,255,.12), transparent 40%), linear-gradient(180deg,#0f1528,#0e1423);border:1px dashed #364064;border-radius:16px;padding:14px}
.cmc-mock-inner{height:240px;border-radius:12px;display:grid;place-items:center;color:#9aa4b2}
.cmc-bold-center{font-weight:700;margin-bottom:6px;text-align:center}
.cmc-muted-center{font-size:.95rem;color:#9aa4b2;text-align:center;max-width:520px;margin:0 auto}
.cmc-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.cmc-m0{margin:0}
.cmc-cal{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:12px}
.cmc-cal-mini .cmc-cal-grid.cmc-cal-weekdays{display:none}
.cmc-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.cmc-cal-month{font-weight:700}
.cmc-cal-legend .cmc-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border-radius:999px;border:1px solid var(--border);margin-left:6px}
.cmc-pill-master{background:rgba(124,77,255,.18)}
.cmc-pill-meetup{background:rgba(41,121,255,.18)}
.cmc-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cmc-cal-weekdays>div{color:#9aa4b2;text-align:center;font-size:.9rem}
.cmc-cal-cell{border:1px solid var(--border);border-radius:10px;min-height:90px;padding:6px;background:#0f1526}
.cmc-cal-daynum{font-size:.85rem;color:#9aa4b2}
.cmc-cal-event{display:flex;align-items:center;justify-content:space-between;background:#1a2136;border:1px solid #2a3552;border-radius:8px;padding:4px 6px;margin-top:6px;font-size:.9rem}
.cmc-cal-event em{font-style:normal;color:#9aa4b2;margin-left:8px}
.cmc-campus-wrap{position:relative;width:100%;max-width:100%;overflow:hidden;border-radius:16px;border:1px solid var(--border);box-shadow:var(--shadow);background:#0f1526}
.cmc-campus-map{width:100%;height:auto;display:block;opacity:.95}
.cmc-avatar{position:absolute;width:52px;height:52px;border-radius:999px;border:2px solid #fff;box-shadow:0 6px 20px rgba(0,0,0,.4);display:block;transform:translate(-50%,-50%);cursor:grab}
.cmc-avatar img{width:100%;height:100%;border-radius:999px;display:block}
.cmc-avatar.cmc-me{outline:3px solid var(--accent)}
.cmc-avatar.cmc-online::after{content:"";position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;background:#22c55e;border:2px solid #0f1526;border-radius:999px;box-shadow:0 0 10px rgba(34,197,94,.6)}
.cmc-tooltip{position:absolute;left:60px;top:50%;transform:translateY(-50%);background:#0b1020;border:1px solid #27314a;border-radius:10px;padding:8px 10px;color:#cbd5e1;white-space:nowrap;opacity:0;pointer-events:none;transition:.15s;box-shadow:var(--shadow)}
.cmc-avatar:hover .cmc-tooltip{opacity:1}
.cmc-zone{position:absolute;border:2px dashed rgba(124,77,255,.3);border-radius:14px;transform:translate(-50%,-50%);display:block}
.cmc-zone:hover{background:rgba(124,77,255,.08)}
.cmc-zone span{position:absolute;left:10px;top:10px;background:rgba(14,19,32,.85);border:1px solid #27314a;border-radius:10px;padding:4px 8px;font-size:.85rem;color:#dbe3ff;}
.cmc-chat{margin-top:14px;border:1px solid var(--border);border-radius:12px;background:#0f1526}
.cmc-chat-list{max-height:260px;overflow:auto;padding:10px;display:grid;gap:8px}
.cmc-chat-item{display:flex;gap:10px;align-items:flex-start}
.cmc-chat-item img{width:32px;height:32px;border-radius:999px}
.cmc-chat-bubble{background:#1a2136;border:1px solid #2a3552;border-radius:12px;padding:8px 10px}
.cmc-chat-form{display:flex;gap:8px;border-top:1px solid var(--border);padding:8px}
.cmc-chat-form input{flex:1;border:1px solid #2a3552;background:#0b1020;color:#e5e7eb;border-radius:999px;padding:10px}
.cmc-chat-form button{background:var(--accent);color:#fff;border:none;border-radius:999px;padding:0 16px}
@media (max-width: 1024px){
  .cmc-shell{grid-template-columns:1fr}
  .cmc-sidebar{position:relative;height:auto}
  .cmc-grid2{grid-template-columns:1fr}
}
