Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Import Material Design Icons */
@import url('https://cdn.jsdelivr.net/npm/@mdi/font@7.4.47/css/materialdesignicons.min.css');

/* Target the logo icon in the header */
.citizen-header__logo .mw-logo-icon {
    /* Step 1: Hide the actual <img> content (the default black) */
    content: ""; 
    display: inline-block;
    
    /* Step 2: Use the SVG as a mask */
    -webkit-mask-image: url('/assets/momoiro_logo.svg');
    mask-image: url('/assets/momoiro_logo.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;

    /* Step 3: Fill the mask with the Citizen icon color variable */
    background-color: var(--color-base, #202122);
    
    /* Maintain dimensions from your HTML */
    width: 32px;
    height: 32px;
}

/* Ensure the drawer version also scales correctly */
.citizen-drawer__logo .mw-logo-icon {
    width: 80px;
    height: 80px;
    background-color: var(--color-base, #202122);
}

/* Dashboard Grid Container */
.dashboard-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px; /* Slightly tighter gap */
    margin-bottom: 20px;
}

/* Individual Dashboard Cards */
.dashboard-card {
    flex: 1 1 220px;
    display: flex;
    flex-direction: row; /* Force row direction explicitly */
    align-items: center; /* Vertically center everything */
    background-color: var(--background-color-surface);
    border: 1px solid var(--border-color-subtle);
    border-radius: var(--border-radius-base, 8px);
    padding: 12px; /* Reduced from 15px to look less puffy */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: all 0.2s ease-in-out;
    text-decoration: none !important;
    min-width: 200px;
    color: var(--color-base);
    overflow: hidden; /* Safety mechanism against rogue scrollbars */
}

.dashboard-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    border-color: var(--color-primary);
    background-color: var(--background-color-interactive-hover);
}

/* The Icon Box - NO SCROLLBARS ALLOWED */
.dashboard-icon {
    width: 42px; /* Fixed width */
    height: 42px; /* Fixed height */
    flex-shrink: 0; /* Do not let the text crush the icon */
    margin-right: 12px;
    background-color: var(--background-color-overlay);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
    overflow: hidden; /* The nuclear option for scrollbars */
}

/* The actual icon font */
.dashboard-icon .mdi {
    font-size: 24px; /* Ensure this fits inside the 42px box */
    line-height: 1; /* Stop line-height from adding phantom vertical space */
    display: block; /* Behaves better than inline for transform/sizing */
}

/* The Text Area */
.dashboard-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.3; /* Tighten text spacing */
    flex-grow: 1; /* Take up remaining space */
    min-width: 0; /* CSS Grid/Flex hack to prevent text overflow issues */
}

.dashboard-label {
    font-weight: 700;
    font-size: 1rem;
    color: var(--color-base);
    white-space: nowrap; /* Keep title on one line if you prefer */
    overflow: hidden;
    text-overflow: ellipsis; /* ... if it's too long */
}

.dashboard-desc {
    font-size: 0.8rem;
    color: var(--color-subtle);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Kill the external link icon */
.dashboard-card a.external {
    background-image: none !important;
    padding-right: 0 !important;
}
/* Dashboard Quick-Jump Highlighting */
.dashboard-jump-active {
    /* A nice, sharp border to indicate focus */
    outline: 2px solid var(--color-primary, #36c); 
    outline-offset: 2px;
    
    /* Subtle background shift to show it's "hot" */
    background-color: var(--background-color-interactive-subtle, #f8f9fa);
    
    /* A tiny scale pop, because we aren't barbarians */
    transform: scale(1.02);
    transition: all 0.1s ease-out;
    z-index: 10; /* Ensure it pops over neighbors */
    border-radius: var(--border-radius-base, 4px);
}

/* Ensure the text inside doesn't disappear if the theme shifts colors on hover/active */
.dashboard-jump-active .dashboard-label a {
    text-decoration: underline;
    color: var(--color-primary--hover, #447ff5);
}