:root { --app-tile-bg: var(--app-card-background-color); --app-tile-border: var(--app-muted-border-color); --app-tile-shadow: var(--app-box-shadow); --app-tile-icon-bg: rgba(0, 0, 0, 0.04); --app-tile-icon-color: var(--app-contrast); --app-tile-count-color: var(--app-contrast); --app-tile-label-color: var(--app-color); --app-tile-link-color: var(--app-muted-color); } [data-theme="dark"] { --app-tile-bg: rgba(20, 24, 32, 0.6); --app-tile-border: rgba(255, 255, 255, 0.08); --app-tile-shadow: 0 10px 30px rgba(0, 0, 0, 0.25); --app-tile-icon-bg: rgba(255, 255, 255, 0.08); --app-tile-icon-color: #e6ecff; --app-tile-count-color: #f1f5ff; --app-tile-label-color: #d1d7e3; --app-tile-link-color: #98a2b3; } .app-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: calc(var(--app-spacing) * 1); margin-bottom: calc(var(--app-spacing) * 2); } .app-stats-table { overflow: auto; border: 1px solid var(--app-border); border-radius: var(--app-border-radius); margin-bottom: calc(var(--app-spacing) * 1); } .app-stats-table th { border-top: 0; } .app-stats-table table { margin: 0; } .app-stats-table table tr:last-child td { border-bottom: 0; } .app-tile { --tile-icon-bg: var(--app-tile-icon-bg); --tile-icon-color: var(--app-tile-icon-color); --tile-count-color: var(--app-tile-count-color); --tile-label-color: var(--app-tile-label-color); --tile-link-color: var(--app-tile-link-color); position: relative; display: block; padding: calc(var(--app-spacing) * 1); border: 1px solid var(--app-tile-border); border-radius: calc(var(--app-border-radius) * 1.1); background: var(--app-tile-bg); color: var(--app-tile-label-color); text-decoration: none; transition: transform var(--app-transition), box-shadow var(--app-transition), border-color var(--app-transition); } .app-tile:hover { box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08); } .app-tile-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: var(--tile-icon-bg); color: var(--tile-icon-color); font-size: 1.1rem; } .app-tile-count { position: absolute; top: calc(var(--app-spacing) * 1); right: calc(var(--app-spacing) * 1); font-weight: 700; color: var(--tile-count-color); } .app-tile-label { display: block; margin-top: calc(var(--app-spacing) * 1); font-weight: 600; color: var(--tile-label-color); } .app-tile-link { position: absolute; right: calc(var(--app-spacing) * 1); bottom: calc(var(--app-spacing) * 1); color: var(--tile-link-color); font-size: 0.9rem; } @media (max-width: 640px) { .app-tiles { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); } }